linux-stable/include/linux
Jan Kara 56c0908c85 genhd: Fix BUG in blkdev_open()
When two blkdev_open() calls for a partition race with device removal
and recreation, we can hit BUG_ON(!bd_may_claim(bdev, whole, holder)) in
blkdev_open(). The race can happen as follows:

CPU0				CPU1			CPU2
							del_gendisk()
							  bdev_unhash_inode(part1);

blkdev_open(part1, O_EXCL)	blkdev_open(part1, O_EXCL)
  bdev = bd_acquire()		  bdev = bd_acquire()
  blkdev_get(bdev)
    bd_start_claiming(bdev)
      - finds old inode 'whole'
      bd_prepare_to_claim() -> 0
							  bdev_unhash_inode(whole);
							<device removed>
							<new device under same
							 number created>
				  blkdev_get(bdev);
				    bd_start_claiming(bdev)
				      - finds new inode 'whole'
				      bd_prepare_to_claim()
					- this also succeeds as we have
					  different 'whole' here...
					- bad things happen now as we
					  have two exclusive openers of
					  the same bdev

The problem here is that block device opens can see various intermediate
states while gendisk is shutting down and then being recreated.

We fix the problem by introducing new lookup_sem in gendisk that
synchronizes gendisk deletion with get_gendisk() and furthermore by
making sure that get_gendisk() does not return gendisk that is being (or
has been) deleted. This makes sure that once we ever manage to look up
newly created bdev inode, we are also guaranteed that following
get_gendisk() will either return failure (and we fail open) or it
returns gendisk for the new device and following bdget_disk() will
return new bdev inode (i.e., blkdev_open() follows the path as if it is
completely run after new device is created).

Reported-and-analyzed-by: Hou Tao <houtao1@huawei.com>
Tested-by: Hou Tao <houtao1@huawei.com>
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2018-02-26 09:48:42 -07:00
..
amba
avf
bcma
byteorder
can can: dev: Add support for limiting configured bitrate 2018-01-16 15:11:32 +01:00
ceph
clk
crush
decompress
dma
dsa
extcon
firmware/meson
fpga
fsl
gpio The is the bulk of GPIO changes for the v4.16 kernel cycle. 2018-01-31 12:25:27 -08:00
hsi
iio Staging/IIO patches for 4.16-rc1 2018-02-01 09:51:57 -08:00
input
irqchip
isdn
lockd
mailbox
mfd RTC for 4.16 2018-02-02 14:19:19 -08:00
mlx4
mlx5 Second pull request for 4.16 merge window 2018-02-06 11:09:45 -08:00
mmc mmc: slot-gpio: add a helper to check capability of GPIO WP detection 2018-01-18 09:08:56 +01:00
mtd Core changes: 2018-01-29 09:58:36 +01:00
mux
netfilter Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2018-01-31 14:31:10 -08:00
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
perf
phy
pinctrl pinctrl: remove include file from <linux/device.h> 2018-02-03 12:10:09 -08:00
platform_data platform-drivers-x86 for v4.16-1 2018-02-06 15:30:52 -08:00
power
qed
raid
regulator regulator: add PM suspend and resume hooks 2018-01-26 14:43:55 +00:00
remoteproc
reset
rpmsg
rtc
sched Merge branch 'akpm' (patches from Andrew) 2018-02-22 10:45:46 -08:00
soc ARM: SoC driver updates for 4.16 2018-02-01 16:35:31 -08:00
soundwire
spi
ssb
sunrpc NFS client bugfixes and latency improvements for Linux 4.16 2018-02-09 14:55:30 -08:00
ulpi
unaligned
usb
uwb
wimax
8250_pci.h
a.out.h
acct.h
acpi.h device property: Constify device_get_match_data() 2018-02-12 10:41:11 +01:00
acpi_dma.h
acpi_iort.h
acpi_pmtmr.h
adb.h
adfs_fs.h
aer.h
agp_backend.h
agpgart.h
ahci-remap.h
ahci_platform.h
aio.h
alarmtimer.h
altera_jtaguart.h
altera_uart.h
amd-iommu.h
amifd.h
amifdreg.h
anon_inodes.h
apm-emulation.h
apm_bios.h
apple-gmux.h
apple_bl.h
arch_topology.h
arm-cci.h
arm-smccc.h arm/arm64: smccc: Implement SMCCC v1.1 inline primitive 2018-02-06 22:54:15 +00:00
arm_sdei.h
asn1.h
asn1_ber_bytecode.h
asn1_decoder.h
assoc_array.h
assoc_array_priv.h
async.h
async_tx.h
ata.h
ata_platform.h
atalk.h
ath9k_platform.h
atm.h
atm_suni.h
atm_tcp.h
atmdev.h
atmel-mci.h
atmel-ssc.h
atmel_pdc.h
atmel_tc.h
atomic.h
attribute_container.h
audit.h
auto_dev-ioctl.h
auto_fs.h
auxvec.h
average.h
b1pcmcia.h
backing-dev-defs.h
backing-dev.h lockdep: Convert some users to const 2018-01-18 11:56:49 +01:00
backlight.h
badblocks.h
balloon_compaction.h
bcd.h
bch.h
bcm47xx_nvram.h
bcm47xx_sprom.h
bcm47xx_wdt.h
bcm963xx_nvram.h
bcm963xx_tag.h
bfin_mac.h
binfmts.h
bio.h Merge branch 'for-4.16/block' of git://git.kernel.dk/linux-block 2018-01-29 11:51:49 -08:00
bit_spinlock.h
bitfield.h
bitmap.h lib: optimize cpumask_next_and() 2018-02-06 18:32:44 -08:00
bitops.h
bitrev.h
blk-cgroup.h blkcg: simplify statistic accumulation code 2018-01-16 08:56:36 -07:00
blk-mq-pci.h
blk-mq-rdma.h
blk-mq-virtio.h
blk-mq.h
blk_types.h blk-mq: introduce BLK_STS_DEV_RESOURCE 2018-01-30 20:18:28 -07:00
blkdev.h block: fix a typo in comment of BLK_MQ_POLL_STATS_BKTS 2018-02-15 08:27:06 -07:00
blkpg.h
blktrace_api.h
blockgroup_lock.h
bma150.h
bootmem.h
bottom_half.h
bpf-cgroup.h
bpf.h bpf: offload: report device information about offloaded maps 2018-01-18 22:54:25 +01:00
bpf_trace.h
bpf_types.h
bpf_verifier.h
brcmphy.h
bsearch.h
bsg-lib.h
bsg.h
btree-128.h
btree-type.h
btree.h
btrfs.h
buffer_head.h for-linus-20180204 2018-02-04 11:16:35 -08:00
bug.h
build_bug.h build_bug.h: remove BUILD_BUG_ON_NULL() 2018-02-06 18:32:46 -08:00
bvec.h
c2port.h
cache.h
cacheinfo.h
capability.h
cb710.h
cciss_ioctl.h
ccp.h
cdev.h
cdrom.h
cfag12864b.h
cgroup-defs.h
cgroup.h
cgroup_rdma.h
cgroup_subsys.h
circ_buf.h
cleancache.h
clk-provider.h Merge branches 'clk-remove-asm-clkdev', 'clk-debugfs-fixes', 'clk-renesas' and 'clk-meson' into clk-next 2018-01-26 16:43:32 -08:00
clk.h
clkdev.h
clock_cooling.h
clockchips.h
clocksource.h
cm4000_cs.h
cma.h
cmdline-parser.h
cn_proc.h
cnt32_to_63.h
coda.h
coda_psdev.h
compaction.h
compat.h
compiler-clang.h kasan: add compiler support for clang 2018-02-06 18:32:42 -08:00
compiler-gcc.h bug.h: work around GCC PR82365 in BUG() 2018-02-21 15:35:43 -08:00
compiler-intel.h
compiler.h bug.h: work around GCC PR82365 in BUG() 2018-02-21 15:35:43 -08:00
compiler_types.h
completion.h
component.h
concap.h
configfs.h
connector.h
console.h
console_struct.h
consolemap.h
container.h
context_tracking.h
context_tracking_state.h
cordic.h
coredump.h
coresight-pmu.h
coresight-stm.h
coresight.h
count_zeros.h
cper.h
cpu.h
cpu_cooling.h
cpu_pm.h
cpu_rmap.h
cpufeature.h
cpufreq.h cpufreq: Add and use cpufreq_for_each_{valid_,}entry_idx() 2018-02-08 10:21:39 +01:00
cpuhotplug.h Merge branch 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm 2018-02-02 09:50:51 -08:00
cpuidle.h Merge branches 'pm-cpuidle' and 'pm-opp' 2018-02-15 12:01:53 +01:00
cpumask.h cpumask: Make for_each_cpu_wrap() available on UP as well 2018-02-16 10:40:24 +01:00
cpuset.h kernel/cpuset: current_cpuset_is_being_rebound can be boolean 2018-02-06 18:32:47 -08:00
crash_core.h
crash_dump.h crash_dump: is_kdump_kernel can be boolean 2018-02-06 18:32:47 -08:00
crc-ccitt.h
crc-itu-t.h
crc-t10dif.h
crc4.h
crc7.h
crc8.h
crc16.h
crc32.h
crc32c.h
cred.h
crypto.h
cryptohash.h
cs5535.h
ctype.h
cuda.h
cyclades.h
davinci_emac.h
dax.h
dca.h
dcache.h vfs: factor out helpers d_instantiate_anon() and d_alloc_anon() 2018-01-24 11:25:59 +01:00
dccp.h
dcookies.h
debug_locks.h
debugfs.h
debugobjects.h
delay.h
delayacct.h delayacct: Account blkio completion on the correct task 2018-01-16 03:29:36 +01:00
delayed_call.h
dell-led.h
devcoredump.h
devfreq-event.h
devfreq.h
devfreq_cooling.h
device-mapper.h dm mpath: delay the retry of a request if the target responded as busy 2018-01-29 13:44:54 -05:00
device.h pinctrl: remove include file from <linux/device.h> 2018-02-03 12:10:09 -08:00
device_cgroup.h
devpts_fs.h
digsig.h
dio.h
dirent.h
dlm.h
dlm_plock.h
dm-dirty-log.h
dm-io.h
dm-kcopyd.h
dm-region-hash.h
dm9000.h
dma-buf.h
dma-contiguous.h
dma-debug.h
dma-direct.h
dma-direction.h
dma-fence-array.h
dma-fence.h
dma-iommu.h
dma-mapping.h dma-mapping: fix a comment typo 2018-02-12 15:59:08 +00:00
dma_remapping.h
dmaengine.h
dmapool.h
dmar.h
dmi.h
dnotify.h
dns_resolver.h
dqblk_qtree.h
dqblk_v1.h
dqblk_v2.h
drbd.h
drbd_genl.h
drbd_genl_api.h
drbd_limits.h
ds2782_battery.h
dtlk.h
dw_apb_timer.h
dynamic_debug.h
dynamic_queue_limits.h
earlycpio.h
ecryptfs.h
edac.h
edd.h
edma.h
eeprom_93cx6.h
eeprom_93xx46.h
efi-bgrt.h
efi.h Merge branch 'next-tpm' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security 2018-01-31 13:12:31 -08:00
efs_vh.h
eisa.h
elevator.h block: Unexport elv_register_queue() and elv_unregister_queue() 2018-01-18 12:54:41 -07:00
elf-fdpic.h
elf-randomize.h
elf.h
elfcore-compat.h
elfcore.h
elfnote.h
enclosure.h
err.h
errno.h
error-injection.h
errqueue.h
errseq.h
etherdevice.h net: Extra '_get' in declaration of arch_get_platform_mac_address 2018-02-08 15:13:30 -05:00
ethtool.h
eventfd.h
eventpoll.h
evm.h
export.h
exportfs.h
ext2_fs.h
extable.h
extcon-provider.h
extcon.h
f2fs_fs.h f2fs: support inode creation time 2018-01-25 14:10:39 -08:00
f75375s.h
falloc.h
fanotify.h
fault-inject.h
fb.h fbdev changes for v4.16: 2018-02-07 13:10:43 -08:00
fbcon.h
fcdevice.h
fcntl.h
fd.h
fddidevice.h
fdtable.h vfs, fdtable: Prevent bounds-check bypass via speculative execution 2018-01-30 21:54:32 +01:00
fec.h
file.h
filter.h bpf: make unknown opcode handling more robust 2018-01-26 16:42:05 -08:00
fips.h
firewire.h
firmware-map.h
firmware.h
fixp-arith.h
flat.h
flex_array.h
flex_proportions.h
fmc-sdb.h
fmc.h
font.h
frame.h
freezer.h
frontswap.h
fs.h New in this version: 2018-01-31 10:18:00 -08:00
fs_enet_pd.h
fs_pin.h
fs_stack.h
fs_struct.h
fs_uart_pd.h
fscache-cache.h
fscache.h
fscrypt.h
fscrypt_notsupp.h
fscrypt_supp.h
fsi.h
fsl-diu-fb.h
fsl_devices.h
fsl_hypervisor.h
fsl_ifc.h
fsldma.h
fsnotify.h
fsnotify_backend.h
ftrace.h init_task out-of-lining 2018-01-29 09:08:34 -08:00
ftrace_irq.h
futex.h
fwnode.h device property: Constify device_get_match_data() 2018-02-12 10:41:11 +01:00
gameport.h
gcd.h
genalloc.h
genetlink.h
genhd.h genhd: Fix BUG in blkdev_open() 2018-02-26 09:48:42 -07:00
genl_magic_func.h include/linux/genl_magic_func.h: remove own BUILD_BUG_ON*() defines 2018-02-06 18:32:46 -08:00
genl_magic_struct.h
getcpu.h
gfp.h
glob.h
goldfish.h
gpio-pxa.h
gpio.h
gpio_keys.h
hardirq.h
hash.h
hashtable.h
hdlc.h
hdlcdrv.h
hdmi.h
hid-debug.h
hid-roccat.h
hid-sensor-hub.h
hid-sensor-ids.h
hid.h
hiddev.h
hidraw.h
highmem.h
highuid.h
hil.h
hil_mlc.h
hippidevice.h
hmm.h
host1x.h
hp_sdc.h
hpet.h
hrtimer.h hrtimer: Implement support for softirq based hrtimers 2018-01-16 09:51:22 +01:00
htcpld.h
huge_mm.h
hugetlb.h hugetlb, mbind: fall back to default policy if vma is NULL 2018-01-31 17:18:40 -08:00
hugetlb_cgroup.h
hugetlb_inline.h
hw_breakpoint.h
hw_random.h
hwmon-sysfs.h
hwmon-vid.h
hwmon.h
hwspinlock.h
hyperv.h
hypervisor.h
i2c-algo-bit.h
i2c-algo-pca.h
i2c-algo-pcf.h
i2c-dev.h
i2c-gpio.h
i2c-mux-gpio.h
i2c-mux.h
i2c-ocores.h
i2c-omap.h
i2c-pca-platform.h
i2c-pnx.h
i2c-pxa.h
i2c-smbus.h
i2c-xiic.h
i2c.h
i8042.h
i8253.h
icmp.h
icmpv6.h
ide.h
idr.h idr: Add documentation 2018-02-06 16:41:29 -05:00
ieee80211.h
ieee802154.h
if_arp.h
if_bridge.h
if_eql.h
if_ether.h
if_fddi.h
if_frad.h
if_link.h
if_ltalk.h
if_macvlan.h
if_phonet.h
if_pppol2tp.h
if_pppox.h
if_tap.h
if_team.h
if_tun.h
if_tunnel.h
if_vlan.h
igmp.h
ihex.h
ima.h
imx-media.h
in.h
in6.h
inet.h
inet_diag.h
inetdevice.h devinet_ioctl(): take copyin/copyout to caller 2018-01-24 19:13:45 -05:00
init.h x86/retpoline: Avoid retpolines for built-in __init functions 2018-02-02 12:28:27 +01:00
init_ohci1394_dma.h
init_task.h Expand INIT_STRUCT_PID and remove 2018-01-17 11:30:16 +00:00
initrd.h
inotify.h
input-polldev.h
input.h
integrity.h
intel-iommu.h iommu/vt-d: Add a check for 5-level paging support 2018-01-17 15:02:50 +01:00
intel-pti.h
intel-svm.h
interrupt.h
interval_tree.h
interval_tree_generic.h
io-64-nonatomic-hi-lo.h
io-64-nonatomic-lo-hi.h
io-mapping.h
io.h
ioc3.h
ioc4.h
iocontext.h
iomap.h
iommu-common.h
iommu-helper.h
iommu.h
iopoll.h
ioport.h kernel/resource: iomem_is_exclusive can be boolean 2018-02-06 18:32:47 -08:00
ioprio.h
iova.h
ip.h
ipack.h
ipc.h
ipc_namespace.h
ipmi-fru.h
ipmi.h
ipmi_smi.h
ipv6.h
ipv6_route.h
irq.h
irq_cpustat.h
irq_poll.h
irq_sim.h
irq_work.h
irqbypass.h
irqchip.h
irqdesc.h
irqdomain.h
irqflags.h init_task out-of-lining 2018-01-29 09:08:34 -08:00
irqhandler.h
irqnr.h
irqreturn.h
isa.h
isapnp.h
iscsi_boot_sysfs.h
iscsi_ibft.h
isdn.h
isdn_divertif.h
isdn_ppp.h
isdnif.h
isicom.h
iversion.h iversion: Rename make inode_cmp_iversion{+raw} to inode_eq_iversion{+raw} 2018-02-01 08:15:25 -05:00
jbd2.h
jhash.h
jiffies.h
journal-head.h
joystick.h
jump_label.h jump_label: Add branch hints to static_branch_{un,}likely() 2018-02-06 10:28:57 +01:00
jump_label_ratelimit.h
jz4740-adc.h
jz4780-nemc.h
kallsyms.h kallsyms: let print_ip_sym() print raw addresses 2018-02-06 18:32:45 -08:00
kasan-checks.h
kasan.h kasan: clean up KASAN_SHADOW_SCALE_SHIFT usage 2018-02-06 18:32:43 -08:00
kbd_diacr.h
kbd_kern.h
kbuild.h
kconfig.h Merge branch 'akpm' (patches from Andrew) 2018-02-22 10:45:46 -08:00
kcore.h vfs/proc/kcore, x86/mm/kcore: Fix SMAP fault when dumping vsyscall user page 2018-02-13 09:15:58 +01:00
kcov.h
kd.h
kdb.h
kdebug.h
kdev_t.h
kern_levels.h
kernel-page-flags.h
kernel.h
kernel_stat.h
kernelcapi.h
kernfs.h
kexec.h
key-type.h
key.h
keyboard.h
kfifo.h
kgdb.h
khugepaged.h
klist.h
kmemleak.h
kmod.h
kmsg_dump.h
kobj_map.h
kobject.h
kobject_ns.h
kprobes.h
kref.h
ks0108.h
ks8842.h
ks8851_mll.h
ksm.h
kthread.h
ktime.h
kvm_host.h
kvm_irqfd.h
kvm_para.h
kvm_types.h
l2tp.h
lapb.h
latencytop.h
lcd.h
lcm.h
led-class-flash.h
led-lm3530.h
leds-bd2802.h
leds-lp3944.h
leds-lp3952.h
leds-pca9532.h
leds-regulator.h
leds-tca6507.h
leds.h
leds_pwm.h
libata.h
libfdt.h
libfdt_env.h
libgcc.h
libnvdimm.h acpi: nfit: add persistent memory control flag for nd_region 2018-02-01 15:01:15 -07:00
libps2.h
license.h
lightnvm.h
linkage.h
linux_logo.h
lis3lv02d.h
list.h
list_bl.h
list_lru.h
list_nulls.h
list_sort.h
livepatch.h
llc.h
llist.h
lockdep.h Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2018-01-30 10:44:56 -08:00
lockref.h lib/lockref: __lockref_is_dead can be boolean 2018-02-06 18:32:47 -08:00
log2.h
lp.h
lru_cache.h
lsm_audit.h
lsm_hooks.h
lz4.h
lzo.h
mailbox_client.h
mailbox_controller.h
maple.h
marvell_phy.h
math64.h
max17040_battery.h
mbcache.h
mbus.h
mc6821.h
mc146818rtc.h
mcb.h
mdev.h
mdio-bitbang.h
mdio-mux.h
mdio.h
mei_cl_bus.h
mem_encrypt.h
memblock.h mm/memblock: memblock_is_map/region_memory can be boolean 2018-02-06 18:32:47 -08:00
memcontrol.h mm: memcontrol: fix NR_WRITEBACK leak in memcg and system stats 2018-02-21 15:35:42 -08:00
memory.h
memory_hotplug.h
mempolicy.h
mempool.h
memremap.h
memstick.h
mic_bus.h
micrel_phy.h
microchipphy.h
migrate.h
migrate_mode.h
mii.h
miscdevice.h
mISDNdsp.h
mISDNhw.h
mISDNif.h
mm-arch-hooks.h
mm.h libnvdimm for 4.16 2018-02-06 10:41:33 -08:00
mm_inline.h x86/mm, mm/hwpoison: Don't unconditionally unmap kernel 1:1 pages 2018-02-13 16:25:06 +01:00
mm_types.h mm: remove reference to PG_buddy 2018-01-31 17:18:38 -08:00
mm_types_task.h
mman.h
mmdebug.h
mmiotrace.h
mmu_context.h
mmu_notifier.h mm, mmu_notifier: annotate mmu notifiers with blockable invalidate callbacks 2018-01-31 17:18:38 -08:00
mmzone.h include/linux/mmzone.h: fix explanation of lower bits in the SPARSEMEM mem_map pointer 2018-01-31 17:18:39 -08:00
mnt_namespace.h
mod_devicetable.h
module.h kernel/module: module_is_live can be boolean 2018-02-06 18:32:47 -08:00
moduleloader.h
moduleparam.h
mount.h
mpage.h
mpi.h
mpls.h
mpls_iptunnel.h
mroute.h
mroute6.h
msdos_fs.h
msg.h
msi.h
mutex.h kernel/mutex: mutex_is_locked can be boolean 2018-02-06 18:32:47 -08:00
mv643xx.h
mv643xx_eth.h
mv643xx_i2c.h
mvebu-pmsu.h
mxm-wmi.h
n_r3964.h
namei.h
nd.h
net.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2018-01-31 14:31:10 -08:00
net_dim.h net/dim: Fix fixpoint divide exception in net_dim_stats_compare 2018-01-19 14:53:32 -05:00
netdev_features.h
netdevice.h bpf: fix null pointer deref in bpf_prog_test_run_xdp 2018-02-01 07:43:56 -08:00
netfilter.h
netfilter_bridge.h
netfilter_defs.h
netfilter_ingress.h
netfilter_ipv4.h
netfilter_ipv6.h
netlink.h
netpoll.h
nfs.h
nfs3.h
nfs4.h
nfs_fs.h
nfs_fs_i.h
nfs_fs_sb.h
nfs_iostat.h
nfs_page.h
nfs_xdr.h
nfsacl.h
nl802154.h
nls.h
nmi.h
node.h
nodemask.h
nospec.h nospec: Move array_index_nospec() parameter checking into separate macro 2018-02-15 01:15:51 +01:00
notifier.h
ns_common.h
nsc_gpio.h
nsproxy.h
ntb.h NTB: Fix UB/bug in ntb_mw_get_align() 2018-01-28 22:17:24 -05:00
ntb_transport.h
nubus.h nubus: Add support for the driver model 2018-01-16 16:47:29 +01:00
numa.h
nvme-fc-driver.h
nvme-fc.h
nvme-rdma.h
nvme.h nvme-pci: clean up SMBSZ bit definitions 2018-01-17 17:55:14 +01:00
nvmem-consumer.h
nvmem-provider.h
nvram.h
of.h DeviceTree updates for 4.16: 2018-02-01 10:57:45 -08:00
of_address.h
of_device.h
of_dma.h
of_fdt.h
of_gpio.h DeviceTree updates for 4.16: 2018-02-01 10:57:45 -08:00
of_graph.h
of_iommu.h iommu: Clean up of_iommu_init_fn 2018-01-17 15:25:50 +01:00
of_irq.h
of_mdio.h
of_net.h
of_pci.h PCI: Make of_irq_parse_pci() static 2018-01-25 08:48:20 -06:00
of_pdt.h
of_platform.h
of_reserved_mem.h
oid_registry.h
olpc-ec.h
omap-dma.h
omap-dmaengine.h
omap-gpmc.h
omap-iommu.h
omap-mailbox.h
omapfb.h
once.h
oom.h
openvswitch.h
oprofile.h
osq_lock.h
oxu210hp.h
padata.h
page-flags-layout.h
page-flags.h mm: remove PG_highmem description 2018-01-31 17:18:40 -08:00
page-isolation.h
page_counter.h
page_ext.h
page_idle.h
page_owner.h
page_ref.h
pageblock-flags.h
pagemap.h
pagevec.h mm: get 7% more pages in a pagevec 2018-01-31 17:18:37 -08:00
parman.h
parport.h
parport_pc.h
parser.h
pata_arasan_cf_data.h
patchkey.h
path.h
pch_dma.h
pci-acpi.h
pci-aspm.h
pci-ats.h
pci-dma-compat.h PCI: Remove NULL device handling from PCI DMA API 2018-01-17 18:05:51 -06:00
pci-dma.h
pci-ecam.h PCI: Add SPDX GPL-2.0 to replace GPL v2 boilerplate 2018-01-28 15:48:29 -06:00
pci-ep-cfs.h PCI: Add SPDX GPL-2.0 to replace GPL v2 boilerplate 2018-01-28 15:48:29 -06:00
pci-epc.h Merge branch 'pci/spdx' into next 2018-02-01 11:40:07 -06:00
pci-epf.h PCI: Add SPDX GPL-2.0 to replace GPL v2 boilerplate 2018-01-28 15:48:29 -06:00
pci.h pci-v4.16-changes 2018-02-06 09:59:40 -08:00
pci_hotplug.h PCI: Add SPDX GPL-2.0+ to replace GPL v2 or later boilerplate 2018-01-28 15:49:06 -06:00
pci_ids.h wireless-drivers-next patches for 4.16 2018-02-08 15:32:25 -05:00
pcieport_if.h
pda_power.h
pe.h
percpu-defs.h
percpu-refcount.h
percpu-rwsem.h
percpu.h
percpu_counter.h
percpu_ida.h
perf_event.h
perf_regs.h
personality.h
pfn.h
pfn_t.h mm, dax: introduce pfn_t_special() 2018-01-19 16:50:53 -08:00
phonet.h
phy.h phy: add helpers for setting/clearing bits in PHY registers 2018-01-16 12:25:10 -05:00
phy_fixed.h
phy_led_triggers.h
phylink.h
pid.h
pid_namespace.h
pim.h
pipe_fs_i.h pipe: reject F_SETPIPE_SZ with size over UINT_MAX 2018-02-06 18:32:47 -08:00
pkeys.h
pktcdvd.h
pl320-ipc.h
platform_device.h
plist.h
pm-trace.h
pm.h
pm2301_charger.h
pm_clock.h
pm_domain.h
pm_opp.h
pm_qos.h
pm_runtime.h
pm_wakeirq.h
pm_wakeup.h
pmbus.h
pmu.h
pnfs_osd_xdr.h
pnp.h
poison.h
poll.h unify {de,}mangle_poll(), get rid of kernel-side POLL... 2018-02-11 14:37:22 -08:00
posix-clock.h
posix-timers.h
posix_acl.h
posix_acl_xattr.h
power_supply.h
powercap.h
ppp-comp.h
ppp_channel.h
ppp_defs.h
pps-gpio.h
pps_kernel.h
pr.h
preempt.h
prefetch.h
prime_numbers.h
printk.h
proc_fs.h
proc_ns.h
processor.h
profile.h
projid.h
property.h device property: Constify device_get_match_data() 2018-02-12 10:41:11 +01:00
psci.h firmware/psci: Expose SMCCC version through psci_ops 2018-02-06 22:54:11 +00:00
psp-sev.h
pstore.h
pstore_ram.h
pti.h
ptp_classify.h
ptp_clock_kernel.h
ptr_ring.h ptr_ring: prevent integer overflow when calculating size 2018-02-11 22:33:22 -05:00
ptrace.h
purgatory.h
pvclock_gtod.h
pwm.h
pwm_backlight.h
pxa2xx_ssp.h
pxa168_eth.h
qcom_scm.h
qnx6_fs.h
quicklist.h
quota.h
quotaops.h
radix-tree.h idr: Remove idr_alloc_ext 2018-02-06 16:41:28 -05:00
raid_class.h
ramfs.h
random.h
range.h
ras.h
ratelimit.h
rational.h
rbtree.h
rbtree_augmented.h
rbtree_latch.h
rcu_node_tree.h
rcu_segcblist.h
rcu_sync.h
rculist.h
rculist_bl.h
rculist_nulls.h
rcupdate.h
rcupdate_wait.h
rcutiny.h
rcutree.h
rcuwait.h
reboot-mode.h
reboot.h
reciprocal_div.h
refcount.h
regmap.h Char/Misc driver patches for 4.16-rc1 2018-02-01 10:31:17 -08:00
regset.h
relay.h
remoteproc.h
reservation.h
reset-controller.h
reset.h
resource.h
resource_ext.h
restart_block.h
rfkill.h
rhashtable.h
ring_buffer.h
rio.h
rio_drv.h
rio_ids.h
rio_regs.h
rmap.h
rmi.h
rndis.h
rodata_test.h
root_dev.h
rpmsg.h
rslib.h
rtc.h
rtmutex.h
rtnetlink.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2018-01-31 14:31:10 -08:00
rtsx_common.h
rtsx_pci.h - New Drivers 2018-01-29 10:59:24 -08:00
rtsx_usb.h
rwlock.h
rwlock_api_smp.h
rwlock_types.h
rwsem-spinlock.h
rwsem.h
s3c_adc_battery.h
sa11x0-dma.h
sbitmap.h
scatterlist.h lib/scatterlist: Fix chaining support in sgl_alloc_order() 2018-01-19 12:31:03 -07:00
scc.h
sched.h Merge branch 'akpm' (patches from Andrew) 2018-02-06 22:15:42 -08:00
sched_clock.h
scif.h vfs: do bulk POLL* -> EPOLL* replacement 2018-02-11 14:34:03 -08:00
scpi_protocol.h
screen_info.h
sctp.h
scx200.h
scx200_gpio.h
sdb.h
sdla.h
seccomp.h
securebits.h
security.h
sed-opal.h
seg6.h
seg6_genl.h
seg6_hmac.h
seg6_iptunnel.h
seg6_local.h
selection.h
selinux.h
sem.h
semaphore.h locking/semaphore: Update the file path in documentation 2018-02-13 15:00:06 +01:00
seq_buf.h
seq_file.h seq_file: Introduce DEFINE_SHOW_ATTRIBUTE() helper macro 2018-02-07 12:50:21 +02:00
seq_file_net.h
seqlock.h
seqno-fence.h
serdev.h TTY/Staging driver updates for 4.16-rc1 2018-02-01 09:46:00 -08:00
serial.h
serial_8250.h
serial_bcm63xx.h
serial_core.h More ACPI updates for v4.16-rc1 2018-02-09 09:44:25 -08:00
serial_max3100.h
serial_pnx8xxx.h
serial_s3c.h
serial_sci.h
serio.h
set_memory.h
sfi.h
sfi_acpi.h
sfp.h
sh_clk.h
sh_dma.h
sh_eth.h
sh_intc.h
sh_timer.h
shdma-base.h
shm.h
shmem_fs.h shmem: rename functions that are memfd-related 2018-01-31 17:18:39 -08:00
shrinker.h
signal.h
signal_types.h
signalfd.h
siox.h
siphash.h
sirfsoc_dma.h
sizes.h
skb_array.h skb_array: use __ptr_ring_empty 2018-01-29 12:02:54 -05:00
skbuff.h skbuff: Fix comment mis-spelling. 2018-02-16 15:52:42 -05:00
slab.h
slab_def.h
slimbus.h
slub_def.h
sm501-regs.h
sm501.h
smc91x.h
smc911x.h
smp.h
smpboot.h
smsc911x.h
smscphy.h
sock_diag.h
socket.h
sonet.h
sony-laptop.h
sonypi.h
sort.h
sound.h
soundcard.h
spinlock.h
spinlock_api_smp.h
spinlock_api_up.h
spinlock_types.h
spinlock_types_up.h
spinlock_up.h
splice.h
spmi.h
sram.h
srcu.h lockdep: Convert some users to const 2018-01-18 11:56:49 +01:00
srcutiny.h
srcutree.h
ssbi.h
stackdepot.h
stackprotector.h
stacktrace.h
start_kernel.h
stat.h
statfs.h
static_key.h
stddef.h
ste_modem_shm.h
stm.h
stmmac.h
stmp3xxx_rtc_wdt.h
stmp_device.h
stop_machine.h
string.h Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2018-01-31 09:25:20 -08:00
string_helpers.h
stringhash.h
stringify.h
sudmac.h
sungem_phy.h
sunserialcore.h
sunxi-rsb.h
superhyway.h
suspend.h x86: hibernate: fix swsusp_arch_resume() prototype 2018-02-07 12:18:23 +01:00
svga.h
sw842.h
swab.h
swait.h
swap.h mm, mlock, vmscan: no more skipping pagevecs 2018-02-21 15:35:42 -08:00
swap_cgroup.h
swap_slots.h
swapfile.h
swapops.h mm, page_vma_mapped: Drop faulty pointer arithmetics in check_pte() 2018-01-21 17:44:47 -08:00
swiotlb.h
switchtec.h pci-v4.16-changes 2018-02-06 09:59:40 -08:00
sxgbe_platform.h
sync_core.h locking: Introduce sync_core_before_usermode() 2018-02-05 21:34:50 +01:00
sync_file.h
synclink.h
sys.h
sys_soc.h
syscalls.h
syscore_ops.h
sysctl.h pipe, sysctl: remove pipe_proc_fn() 2018-02-06 18:32:47 -08:00
sysfs.h
syslog.h
sysrq.h
sysv_fs.h
t10-pi.h
task_io_accounting.h
task_io_accounting_ops.h
task_work.h
taskstats_kern.h
tboot.h
tc.h
tca6416_keypad.h
tcp.h bpf: Adds field bpf_sock_ops_cb_flags to tcp_sock 2018-01-25 16:41:14 -08:00
tee_drv.h
textsearch.h
textsearch_fsm.h
tfrc.h
thermal.h
thinkpad_acpi.h
thread_info.h
threads.h
thunderbolt.h
ti-emif-sram.h
ti_wilink_st.h
tick.h
tifm.h
timb_dma.h
timb_gpio.h
time.h
time32.h
time64.h
timecounter.h
timekeeper_internal.h
timekeeping.h
timekeeping32.h
timer.h
timerfd.h
timeriomem-rng.h
timerqueue.h
timex.h
tnum.h
topology.h
torture.h
toshiba.h
tpm.h
tpm_command.h
tpm_eventlog.h
trace.h
trace_clock.h
trace_events.h
trace_seq.h
tracefs.h
tracehook.h
tracepoint-defs.h
tracepoint.h
transport_class.h
ts-nbus.h
tsacct_kern.h
tty.h tty: fix data race between tty_init_dev and flush of buf 2018-01-23 08:57:37 +01:00
tty_driver.h
tty_flip.h
tty_ldisc.h
typecheck.h
types.h
u64_stats_sync.h
uaccess.h
ucb1400.h
ucs2_string.h
udp.h
uidgid.h
uio.h
uio_driver.h
umh.h
uprobes.h
usb.h
usb_usual.h
usbdevice_fs.h
user-return-notifier.h
user.h
user_namespace.h
userfaultfd_k.h
util_macros.h
uts.h
utsname.h
uuid.h uuid: cleanup <uapi/linux/uuid.h> 2018-02-06 18:32:44 -08:00
uwb.h
vbox_utils.h
verification.h
vermagic.h Revert "module: Add retpoline tag to VERMAGIC" 2018-01-24 09:00:05 -08:00
vexpress.h
vfio.h
vfs.h
vga_switcheroo.h
vgaarb.h
via-core.h
via-gpio.h
via.h
via_i2c.h
videodev2.h
virtio.h
virtio_byteorder.h
virtio_caif.h
virtio_config.h
virtio_console.h
virtio_net.h
virtio_ring.h
virtio_vsock.h
visorbus.h
vlynq.h
vm_event_item.h
vm_sockets.h
vmacache.h
vmalloc.h
vme.h
vmpressure.h
vmstat.h mm: remove unused pgdat_reclaimable_pages() 2018-01-31 17:18:37 -08:00
vmw_vmci_api.h
vmw_vmci_defs.h
vringh.h
vt.h
vt_buffer.h
vt_kern.h
vtime.h
w1-gpio.h
w1.h
wait.h
wait_bit.h
wanrouter.h
watchdog.h
win_minmax.h
wireless.h
wkup_m3_ipc.h
wl12xx.h
wm97xx.h
wmi.h
workqueue.h
writeback.h
ww_mutex.h
xattr.h
xxhash.h
xz.h
yam.h
z2_battery.h
zbud.h
zconf.h
zlib.h
zorro.h
zpool.h zswap: only save zswap header when necessary 2018-01-31 17:18:39 -08:00
zsmalloc.h
zstd.h
zutil.h