Paul E. McKenney
52d7e48b86
rcu: Narrow early boot window of illegal synchronous grace periods
...
The current preemptible RCU implementation goes through three phases
during bootup. In the first phase, there is only one CPU that is running
with preemption disabled, so that a no-op is a synchronous grace period.
In the second mid-boot phase, the scheduler is running, but RCU has
not yet gotten its kthreads spawned (and, for expedited grace periods,
workqueues are not yet running. During this time, any attempt to do
a synchronous grace period will hang the system (or complain bitterly,
depending). In the third and final phase, RCU is fully operational and
everything works normally.
This has been OK for some time, but there has recently been some
synchronous grace periods showing up during the second mid-boot phase.
This code worked "by accident" for awhile, but started failing as soon
as expedited RCU grace periods switched over to workqueues in commit
8b355e3bc1 ("rcu: Drive expedited grace periods from workqueue").
Note that the code was buggy even before this commit, as it was subject
to failure on real-time systems that forced all expedited grace periods
to run as normal grace periods (for example, using the rcu_normal ksysfs
parameter). The callchain from the failure case is as follows:
early_amd_iommu_init()
|-> acpi_put_table(ivrs_base);
|-> acpi_tb_put_table(table_desc);
|-> acpi_tb_invalidate_table(table_desc);
|-> acpi_tb_release_table(...)
|-> acpi_os_unmap_memory
|-> acpi_os_unmap_iomem
|-> acpi_os_map_cleanup
|-> synchronize_rcu_expedited
The kernel showing this callchain was built with CONFIG_PREEMPT_RCU=y,
which caused the code to try using workqueues before they were
initialized, which did not go well.
This commit therefore reworks RCU to permit synchronous grace periods
to proceed during this mid-boot phase. This commit is therefore a
fix to a regression introduced in v4.9, and is therefore being put
forward post-merge-window in v4.10.
This commit sets a flag from the existing rcu_scheduler_starting()
function which causes all synchronous grace periods to take the expedited
path. The expedited path now checks this flag, using the requesting task
to drive the expedited grace period forward during the mid-boot phase.
Finally, this flag is updated by a core_initcall() function named
rcu_exp_runtime_mode(), which causes the runtime codepaths to be used.
Note that this arrangement assumes that tasks are not sent POSIX signals
(or anything similar) from the time that the first task is spawned
through core_initcall() time.
Fixes: 8b355e3bc1 ("rcu: Drive expedited grace periods from workqueue")
Reported-by: "Zheng, Lv" <lv.zheng@intel.com>
Reported-by: Borislav Petkov <bp@alien8.de>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Tested-by: Stan Kain <stan.kain@gmail.com>
Tested-by: Ivan <waffolz@hotmail.com>
Tested-by: Emanuel Castelo <emanuel.castelo@gmail.com>
Tested-by: Bruno Pesavento <bpesavento@infinito.it>
Tested-by: Borislav Petkov <bp@suse.de>
Tested-by: Frederic Bezies <fredbezies@gmail.com>
Cc: <stable@vger.kernel.org> # 4.9.0-
2017-01-14 21:23:48 -08:00
..
amba
dmaengine updates for 4.10-rc1
2016-12-14 20:42:45 -08:00
bcma
byteorder
can
ceph
A varied set of changes:
2016-12-16 11:23:34 -08:00
clk
crush
decompress
dma
extcon
firmware /meson
fpga
fpga: Clarify how write_init works streaming modes
2016-11-29 15:51:49 -06:00
fsl
soc: fsl: add GUTS driver for QorIQ platforms
2016-11-29 09:17:20 +01:00
gpio
Merge branch 'thread-irq-simpler' into devel
2016-12-07 15:24:12 +01:00
hsi
i2c
i2c: mux: mellanox: add driver
2016-11-17 23:19:00 +01:00
iio
iio: accel: st_accel: fix LIS3LV02 reading and scaling
2016-12-31 14:35:04 +00:00
input
irqchip
clocksource: Use a plain u64 instead of cycle_t
2016-12-25 11:04:12 +01:00
isdn
lockd
mailbox
mfd
- New Device Support
2016-12-19 08:16:26 -08:00
mlx4
net/mlx4_core: Fix raw qp flow steering rules under SRIOV
2016-12-29 14:17:40 -05:00
mlx5
Revert "net/mlx5: Add MPCNT register infrastructure"
2016-12-28 14:36:52 -05:00
mmc
mmc: mmc: Introduce mmc_abort_tuning()
2016-12-05 14:16:22 +01:00
mtd
This pull request contains the following notable changes:
2016-11-29 18:28:30 -08:00
netfilter
netfilter: x_tables: pack percpu counter allocations
2016-12-06 21:42:19 +01:00
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
perf
phy
SCSI misc on 20161213
2016-12-14 10:49:33 -08:00
pinctrl
platform_data
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2016-12-17 20:17:04 -08:00
power
power: supply: bq27xxx_battery: Fix register map for BQ27510 and BQ27520
2016-11-23 23:37:27 +01:00
qed
qed: Add support for hardware offloaded iSCSI.
2016-12-02 12:44:37 -05:00
raid
regulator
regulator: Fix regulator_get_error_flags() signature mismatch
2016-12-05 11:38:30 +00:00
remoteproc
reset
rpmsg
rpmsg: smd: Expose edge registration functions
2016-11-14 21:52:14 -08:00
rtc
sched
soc
ARM: SoC driver updates for v4.10
2016-12-15 16:03:25 -08:00
spi
ssb
sunrpc
The one new feature is support for a new NFSv4.2 mode_umask attribute
2016-12-16 10:48:28 -08:00
ulpi
unaligned
usb
USB/PHY patches for 4.10-rc1
2016-12-13 11:10:36 -08:00
uwb
wimax
8250_pci.h
a.out.h
acct.h
acpi.h
pci-v4.10-changes
2016-12-15 12:46:48 -08:00
acpi_dma.h
acpi_iort.h
ACPI/IORT: Make dma masks set-up IORT specific
2016-12-06 16:57:33 +01:00
acpi_pmtmr.h
adb.h
adfs_fs.h
aer.h
agp_backend.h
agpgart.h
ahci-remap.h
ahci-remap.h: add ahci remapping definitions
2016-12-05 14:31:24 -05:00
ahci_platform.h
aio.h
move aio compat to fs/aio.c
2016-12-22 22:58:37 -05:00
alarmtimer.h
alarmtimer: Add tracepoints for alarm timers
2016-12-01 14:45:08 +01:00
altera_jtaguart.h
altera_uart.h
amd-iommu.h
amifd.h
amifdreg.h
amigaffs.h
anon_inodes.h
apm-emulation.h
apm_bios.h
apple-gmux.h
apple_bl.h
arm-cci.h
arm-smccc.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_serial.h
atmel_tc.h
atomic.h
attribute_container.h
audit.h
audit_log_{name,link_denied}: constify struct path
2016-12-05 19:00:38 -05:00
auto_dev-ioctl.h
auto_fs.h
auxvec.h
average.h
b1pcmcia.h
backing-dev-defs.h
Merge branch 'for-4.10/block' of git://git.kernel.dk/linux-block
2016-12-13 10:19:16 -08:00
backing-dev.h
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
block: improve handling of the magic discard payload
2016-12-09 08:30:51 -07:00
bit_spinlock.h
bitfield.h
bitmap.h
bitops.h
bitrev.h
blk-cgroup.h
blk-mq-pci.h
blk-mq.h
SCSI misc on 20161213
2016-12-14 10:49:33 -08:00
blk_types.h
block: add support for REQ_OP_WRITE_ZEROES
2016-12-01 07:58:40 -07:00
blkdev.h
block: Remove unused member (busy) from struct blk_queue_tag
2016-12-17 13:02:04 -07:00
blkpg.h
blktrace_api.h
blockgroup_lock.h
bma150.h
bootmem.h
bottom_half.h
bpf-cgroup.h
bpf: cgroup: annotate pointers in struct cgroup_bpf with __rcu
2016-12-17 11:14:25 -05:00
bpf.h
bpf: fix overflow in prog accounting
2016-12-17 21:27:44 -05:00
bpf_verifier.h
bpf: fix state equivalence
2016-12-08 13:31:11 -05:00
brcmphy.h
net: phy: broadcom: Add support code for reading PHY counters
2016-11-30 10:22:27 -05:00
bsearch.h
bsg-lib.h
scsi: fc: move FC transport's bsg code to bsg-lib
2016-11-17 20:15:26 -05:00
bsg.h
btree-128.h
btree-type.h
btree.h
btrfs.h
buffer_head.h
bug.h
bvec.h
c2port.h
cache.h
cacheinfo.h
Merge branch 'x86-cache-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2016-12-22 09:25:45 -08:00
capability.h
exec: Ensure mm->user_ns contains the execed files
2016-11-22 13:21:00 -06:00
cb710.h
cciss_ioctl.h
ccp.h
cdev.h
cdrom.h
cfag12864b.h
cgroup-defs.h
cgroup: add support for eBPF programs
2016-11-25 16:25:52 -05:00
cgroup.h
cgroup_subsys.h
circ_buf.h
cleancache.h
clk-provider.h
clk.h
clk: add devm_get_clk_from_child() API
2016-12-08 16:37:33 -08:00
clkdev.h
clock_cooling.h
clockchips.h
clocksource.h
clocksource: Use a plain u64 instead of cycle_t
2016-12-25 11:04:12 +01:00
cm4000_cs.h
cma.h
mm: cma: make linux/cma.h standalone includible
2016-12-12 18:55:08 -08:00
cmdline-parser.h
cn_proc.h
cnt32_to_63.h
coda.h
coda_psdev.h
compaction.h
compat.h
compiler-clang.h
compiler-gcc.h
compiler-gcc.h: use "proved" instead of "proofed"
2016-12-12 18:55:09 -08:00
compiler-intel.h
compiler.h
completion.h
component.h
concap.h
configfs.h
Merge branch 'scsi-target-for-v4.10' of git://git.kernel.org/pub/scm/linux/kernel/git/bvanassche/linux
2016-12-21 10:16:05 -08:00
connector.h
console.h
TTY/Serial patches for 4.10-rc1
2016-12-13 11:18:24 -08:00
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/hotplug: Remove obsolete cpu hotplug register/unregister functions
2016-12-25 10:47:43 +01:00
cpu_cooling.h
cpu_pm.h
cpu_rmap.h
cpufeature.h
cpufreq.h
cpufreq: Make cpufreq_update_policy() void
2016-11-21 14:35:43 +01:00
cpuhotplug.h
irqchip/armada-xp: Consolidate hotplug state space
2016-12-25 10:47:44 +01:00
cpuidle.h
cpuidle: Allow enforcing deepest idle state selection
2016-11-29 14:02:21 +01:00
cpumask.h
x86/smpboot: Prevent false positive out of bounds cpumask access warning
2016-12-15 11:32:31 +01:00
cpuset.h
cputime.h
crash_dump.h
crc-ccitt.h
crc-itu-t.h
crc-t10dif.h
crc7.h
crc8.h
crc16.h
crc32.h
crc32c.h
cred.h
crypto.h
This pull contains one set of changes: a conversion of the crypto DocBook
2016-12-17 16:00:34 -08:00
cryptohash.h
cs5535.h
ctype.h
cuda.h
cyclades.h
davinci_emac.h
dax.h
mm: Invalidate DAX radix tree entries only if appropriate
2016-12-26 20:29:24 -08:00
dca.h
dcache.h
vfs: remove unused have_submounts() function
2016-12-03 20:51:49 -05:00
dccp.h
dcookies.h
constify get_dcookie() and friends
2016-12-05 19:01:16 -05:00
debug_locks.h
debugfs.h
Driver core patches for 4.10-rc1
2016-12-13 11:42:18 -08:00
debugobjects.h
delay.h
delayacct.h
delayed_call.h
dell-led.h
devcoredump.h
devfreq-event.h
devfreq.h
devfreq_cooling.h
devfreq_cooling: pass a pointer to devfreq in the power model callbacks
2016-11-23 10:07:35 +08:00
device-mapper.h
device.h
Driver core patches for 4.10-rc1
2016-12-13 11:42:18 -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-direction.h
dma-fence-array.h
dma-fence.h
doc/dma-buf: Fix up include directives
2016-11-15 12:48:33 +01:00
dma-iommu.h
iommu/dma: Implement dma_{map,unmap}_resource()
2016-11-14 16:58:36 +01:00
dma-mapping.h
dma: add calls for dma_map_page_attrs and dma_unmap_page_attrs
2016-12-14 16:04:08 -08:00
dma_remapping.h
dmaengine.h
dmaengine: dma_slave_config: add support for slave port window
2016-11-30 08:54:04 +05:30
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
clocksource: Use a plain u64 instead of cycle_t
2016-12-25 11:04:12 +01:00
dynamic_debug.h
dynamic_queue_limits.h
earlycpio.h
ecryptfs.h
edac.h
EDAC: Document HW_EVENT_ERR_DEFERRED type
2016-12-15 08:58:12 -02:00
edd.h
edma.h
eeprom_93cx6.h
eeprom_93xx46.h
efi-bgrt.h
efi.h
x86/efi: Retrieve and assign Apple device properties
2016-11-13 08:23:16 +01:00
efs_vh.h
eisa.h
elevator.h
elevator: make the rqhash helpers exported
2016-12-09 09:03:02 -07:00
elf-fdpic.h
elf-randomize.h
elf.h
elfcore-compat.h
elfcore.h
elfnote.h
enclosure.h
err.h
errno.h
errqueue.h
etherdevice.h
ethtool.h
eventfd.h
eventpoll.h
evm.h
export.h
exportfs.h
ext2_fs.h
extable.h
extcon.h
f2fs_fs.h
f2fs: support multiple devices
2016-11-25 10:15:13 -08:00
f75375s.h
falloc.h
fanotify.h
fault-inject.h
fb.h
fcdevice.h
fcntl.h
fd.h
fddidevice.h
fdtable.h
fec.h
file.h
constify alloc_file()
2016-12-05 19:01:16 -05:00
filter.h
net: xdp: remove unused bfp_warn_invalid_xdp_buffer()
2016-12-27 12:28:07 -05: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
mm, frontswap: make sure allocated frontswap map is assigned
2016-11-11 08:12:37 -08:00
fs.h
Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs
2016-12-19 08:23:53 -08:00
fs_enet_pd.h
fs_pin.h
fs_stack.h
fs_struct.h
fs_uart_pd.h
fscache-cache.h
fscache.h
fscrypto.h
fscrypt: Rename FS_WRITE_PATH_FL to FS_CTX_HAS_BOUNCE_BUFFER_FL
2016-12-11 16:33:18 -05:00
fsl-diu-fb.h
fsl_devices.h
fsl/usb: Workarourd for USB erratum-A005697
2016-12-05 15:13:58 +01:00
fsl_hypervisor.h
fsl_ifc.h
fsldma.h
fsnotify.h
fsnotify: constify the places working with ->f_path
2016-12-05 18:58:32 -05:00
fsnotify_backend.h
Merge branch 'stable-4.10' of git://git.infradead.org/users/pcmoore/audit
2017-01-05 23:06:06 -08:00
ftrace.h
This release has a few updates:
2016-12-15 13:49:34 -08:00
ftrace_irq.h
futex.h
ktime: Get rid of the union
2016-12-25 17:21:22 +01:00
fwnode.h
ACPI: Add FWNODE_ACPI_STATIC fwnode type
2016-11-29 15:57:42 +00:00
gameport.h
gcd.h
genalloc.h
genetlink.h
genhd.h
genhd: remove dead and duplicated scsi code
2016-12-22 11:48:20 -07:00
genl_magic_func.h
genl_magic_struct.h
getcpu.h
gfp.h
mm: add support for releasing multiple instances of a page
2016-12-14 16:04:08 -08:00
glob.h
goldfish.h
gpio-fan.h
gpio-pxa.h
gpio.h
gpio_keys.h
gpio_mouse.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
Merge branches 'for-4.10/asus', 'for-4.10/cp2112', 'for-4.10/i2c-hid-nopower', 'for-4.10/intel-ish', 'for-4.10/mayflash', 'for-4.10/microsoft-surface-3', 'for-4.10/multitouch', 'for-4.10/sony', 'for-4.10/udraw-ps3', 'for-4.10/upstream' and 'for-4.10/wacom/generic' into for-linus
2016-12-14 10:12:26 +01:00
hiddev.h
hidraw.h
highmem.h
highuid.h
hil.h
hil_mlc.h
hippidevice.h
host1x.h
hp_sdc.h
hpet.h
hrtimer.h
ktime: Get rid of the union
2016-12-25 17:21:22 +01:00
htcpld.h
htirq.h
huge_mm.h
mm: join struct fault_env and vm_fault
2016-12-14 16:04:09 -08:00
hugetlb.h
hugetlb_cgroup.h
hugetlb_inline.h
hw_breakpoint.h
hw_random.h
hwrng: Make explicit that max >= 32 always
2016-11-21 22:50:45 +08:00
hwmon-sysfs.h
hwmon-vid.h
hwmon.h
hwmon: (core) Rename groups parameter in API to extra_groups
2016-12-09 21:54:22 -08:00
hwspinlock.h
hyperv.h
vmbus: add support for dynamic device id's
2016-12-06 11:52:49 +01:00
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-pinctrl.h
i2c-mux.h
i2c-ocores.h
i2c-omap.h
i2c-pca-platform.h
i2c-pnx.h
i2c-pxa.h
i2c-smbus.h
i2c: use an IRQ to report Host Notify events, not alert
2016-11-24 16:22:06 +01:00
i2c-xiic.h
i2c.h
i2c: use an IRQ to report Host Notify events, not alert
2016-11-24 16:22:06 +01:00
i7300_idle.h
i8042.h
i8253.h
icmp.h
icmpv6.h
ide.h
idr.h
idr: reduce the number of bits per level from 8 to 6
2016-12-14 16:04:10 -08:00
ieee80211.h
ieee802154.h
if_arp.h
bpf: reuse dev_is_mac_header_xmit for redirect
2016-11-27 20:38:47 -05:00
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_team.h
if_tun.h
if_tunnel.h
if_vlan.h
vxlan: avoid vlan processing in vxlan device.
2016-11-15 12:16:13 -05:00
igmp.h
ihex.h
ima.h
ima: on soft reboot, save the measurement list
2016-12-20 09:48:44 -08:00
in.h
in6.h
inet.h
inet_diag.h
inetdevice.h
init.h
module: extend 'rodata=off' boot cmdline parameter to module mappings
2016-11-27 16:15:33 -08:00
init_ohci1394_dma.h
init_task.h
initrd.h
inotify.h
input-polldev.h
input.h
integrity.h
intel-iommu.h
iommu/vt-d: Fix PASID table allocation
2016-11-19 09:42:35 -08:00
intel-svm.h
intel_pmic_gpio.h
interrupt.h
genirq/affinity: Handle pre/post vectors in irq_create_affinity_masks()
2016-11-09 08:25:09 +01:00
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
iomap: implement direct I/O
2016-11-30 14:36:01 +11:00
iommu-common.h
iommu-helper.h
iommu.h
Merge branches 'arm/mediatek', 'arm/smmu', 'x86/amd', 's390', 'core' and 'arm/exynos' into next
2016-12-06 17:32:16 +01:00
iopoll.h
ioport.h
ioprio.h
iova.h
ip.h
ipack.h
ipc.h
ipc_namespace.h
ipmi-fru.h
ipmi.h
ipmi_smi.h
ipv6.h
ipv6 addrconf: Implemented enhanced DAD (RFC7527)
2016-12-03 23:21:37 -05:00
ipv6_route.h
irq.h
irq_cpustat.h
irq_poll.h
irq_work.h
irqbypass.h
irqchip.h
irqdesc.h
irqdomain.h
irqflags.h
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
Replace <asm/uaccess.h> with <linux/uaccess.h> globally
2016-12-24 11:46:01 -08:00
isicom.h
jbd2.h
jhash.h
jiffies.h
journal-head.h
joystick.h
jump_label.h
jump_label_ratelimit.h
jz4740-adc.h
jz4780-nemc.h
kallsyms.h
kasan-checks.h
kasan.h
kbd_diacr.h
kbd_kern.h
kbuild.h
kconfig.h
kcore.h
kcov.h
kd.h
kdb.h
kdb: call vkdb_printf() from vprintk_default() only when wanted
2016-12-14 16:04:08 -08:00
kdebug.h
kdev_t.h
kern_levels.h
kernel-page-flags.h
kernel.h
Modules updates for v4.10
2016-12-14 20:12:43 -08:00
kernel_stat.h
sched/cputime, powerpc, s390: Make scaled cputime arch specific
2016-11-15 09:51:05 +01:00
kernelcapi.h
kernfs.h
kexec.h
powerpc updates for 4.10
2016-12-16 09:26:42 -08:00
key-type.h
key.h
keyboard.h
kfifo.h
kgdb.h
khugepaged.h
klist.h
kmemcheck.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
kthread: add __printf attributes
2016-12-12 18:55:06 -08:00
ktime.h
ktime: Get rid of ktime_equal()
2016-12-25 17:21:23 +01:00
kvm_host.h
Small release, the most interesting stuff is x86 nested virt improvements.
2016-12-13 15:47:02 -08:00
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
led: core: Fix blink_brightness setting race
2016-11-22 12:07:05 +01:00
leds_pwm.h
lguest.h
lguest_launcher.h
libata.h
libfdt.h
libfdt_env.h
libnvdimm.h
acpi, nfit, libnvdimm: fix / harden ars_status output length handling
2016-12-06 16:08:10 -08:00
libps2.h
license.h
lightnvm.h
lightnvm: transform target get/set bad block
2016-11-29 12:12:51 -07:00
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
locking/lockdep: Provide a type check for lock_is_held
2016-11-30 14:32:25 +11:00
lockref.h
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
bus: mvebu-bus: Provide inline stub for mvebu_mbus_get_dram_win_info
2016-11-18 13:54:21 -05:00
mc6821.h
mc146818rtc.h
timekeeping: Ignore the bogus sleep time if pm_trace is enabled
2016-11-29 18:02:58 +01:00
mcb.h
mdev.h
vfio-mdev: fix non-standard ioctl return val causing i386 build fail
2017-01-04 13:22:38 -07:00
mdio-bitbang.h
mdio-mux.h
mdio.h
mei_cl_bus.h
mei: bus: enable non-blocking RX
2016-12-06 11:05:46 +01:00
memblock.h
memcontrol.h
memory.h
memory_hotplug.h
mempolicy.h
mm: disable numa migration faults for dax vmas
2016-12-12 18:55:07 -08:00
mempool.h
memremap.h
memstick.h
mg_disk.h
mic_bus.h
micrel_phy.h
microchipphy.h
migrate.h
migrate_mode.h
mii.h
miscdevice.h
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2016-12-17 20:17:04 -08:00
mISDNdsp.h
mISDNhw.h
mISDNif.h
mm-arch-hooks.h
mm.h
mm: add PageWaiters indicating tasks are waiting for a page bit
2016-12-25 11:54:48 -08:00
mm_inline.h
mm_types.h
Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2016-12-18 11:12:53 -08:00
mman.h
mmdebug.h
mmiotrace.h
mmu_context.h
mmu_notifier.h
mmzone.h
linux: drop __bitwise__ everywhere
2016-12-16 00:13:41 +02:00
mnt_namespace.h
mod_devicetable.h
s390/zcrypt: add multi domain support
2016-12-14 16:33:38 +01:00
module.h
module: remove trailing whitespace
2016-11-26 11:18:02 -08:00
moduleloader.h
moduleparam.h
mount.h
Merge branch 'work.autofs' into for-linus
2016-12-16 16:34:52 -05:00
mpage.h
mpi.h
mpls.h
mpls_iptunnel.h
mroute.h
mroute6.h
msdos_fs.h
msg.h
msi.h
mutex.h
locking/mutex: Don't mark mutex_trylock_recursive() as deprecated, temporarily
2016-11-16 10:39:43 +01:00
mv643xx.h
mv643xx_eth.h
mv643xx_i2c.h
mvebu-pmsu.h
mxm-wmi.h
n_r3964.h
namei.h
nd.h
net.h
netdev_features.h
netdevice.h
net: rfs: add a jump label
2016-12-08 13:18:35 -05:00
netfilter.h
netfilter: decouple nf_hook_entry and nf_hook_ops
2016-12-06 21:42:16 +01:00
netfilter_bridge.h
netfilter_defs.h
netfilter_ingress.h
netfilter: ingress: translate 0 nf_hook_slow retval to -1
2016-12-06 21:48:21 +01:00
netfilter_ipv4.h
netfilter_ipv6.h
netlink.h
netpoll.h
netpoll: more efficient locking
2016-11-16 18:32:02 -05:00
nfs.h
nfs3.h
nfs4.h
nfsd: add support for the umask attribute
2016-12-15 20:42:48 -05:00
nfs_fs.h
NFS: Clean up nfs_attribute_timeout()
2016-12-19 17:29:44 -05:00
nfs_fs_i.h
nfs_fs_sb.h
nfs_iostat.h
nfs_page.h
nfs_xdr.h
nfs: add support for the umask attribute
2016-12-09 23:47:10 -05:00
nfsacl.h
nl802154.h
nls.h
nmi.h
kernel/watchdog.c: move shared definitions to nmi.h
2016-12-14 16:04:08 -08:00
node.h
nodemask.h
notifier.h
ns_common.h
nsc_gpio.h
nsproxy.h
ntb.h
NTB bug fixes for removing an unnecessary call to ntb_peer_spad_read,
2016-12-24 11:23:24 -08:00
ntb_transport.h
nubus.h
numa.h
nvme-fc-driver.h
nvme-fabrics: Add FC transport LLDD api definitions
2016-12-06 10:17:56 +02:00
nvme-fc.h
nvme-fabrics: Add FC transport FC-NVME definitions
2016-12-06 10:17:56 +02:00
nvme-rdma.h
nvme.h
Merge branch 'for-4.10/block' of git://git.kernel.dk/linux-block
2016-12-13 10:19:16 -08:00
nvmem-consumer.h
nvmem-provider.h
nvram.h
of.h
of/overlay: add of overlay notifications
2016-11-10 17:03:35 +01:00
of_address.h
of_device.h
of_dma.h
of_fdt.h
of/fdt: mark hotpluggable memory
2016-12-12 18:55:07 -08:00
of_gpio.h
of_graph.h
of_iommu.h
iommu: Make of_iommu_set/get_ops() DT agnostic
2016-11-29 15:57:43 +00:00
of_irq.h
of_mdio.h
of_mdio: add helper to deregister fixed-link PHYs
2016-11-29 23:17:02 -05:00
of_net.h
of_pci.h
of/pci: Add of_pci_get_max_link_speed() to parse max-link-speed from DT
2016-11-14 15:21:14 -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: optimize PageWaiters bit use for unlock_page()
2016-12-29 11:03:15 -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
mm: add PageWaiters indicating tasks are waiting for a page bit
2016-12-25 11:54:48 -08:00
pagevec.h
parport.h
parport_pc.h
parser.h
parser: add u64 number parser
2016-12-06 10:17:03 +02:00
pata_arasan_cf_data.h
patchkey.h
path.h
pch_dma.h
pci-acpi.h
PCI/ACPI: Extend pci_mcfg_lookup() to return ECAM config accessors
2016-12-06 13:45:48 -06:00
pci-aspm.h
pci-ats.h
pci-dma-compat.h
pci-dma.h
pci-ecam.h
PCI: Add MCFG quirks for X-Gene host controller
2016-12-06 13:45:50 -06:00
pci.h
pci-v4.10-changes
2016-12-15 12:46:48 -08:00
pci_hotplug.h
ACPI / hotplug / PCI: Make device_is_managed_by_native_pciehp() public
2016-11-17 18:47:58 -06:00
pci_ids.h
pci-v4.10-changes
2016-12-15 12:46:48 -08: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
phonet.h
phy.h
phy: add phy fixup unregister functions
2016-12-08 14:21:47 -05:00
phy_fixed.h
phy_led_triggers.h
pid.h
pid_namespace.h
pim.h
pipe_fs_i.h
pkeys.h
pktcdvd.h
pl320-ipc.h
platform_device.h
plist.h
pm-trace.h
timekeeping: Ignore the bogus sleep time if pm_trace is enabled
2016-11-29 18:02:58 +01:00
pm.h
Driver core patches for 4.10-rc1
2016-12-13 11:42:18 -08:00
pm2301_charger.h
pm_clock.h
pm_domain.h
pm_opp.h
PM / OPP: Allow platform specific custom set_opp() callbacks
2016-12-06 02:27:59 +01:00
pm_qos.h
pm_runtime.h
Driver core patches for 4.10-rc1
2016-12-13 11:42:18 -08:00
pm_wakeirq.h
pm_wakeup.h
pmem.h
pmu.h
pnfs_osd_xdr.h
pnp.h
poison.h
poll.h
Replace <asm/uaccess.h> with <linux/uaccess.h> globally
2016-12-24 11:46:01 -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
x86/uaccess, sched/preempt: Verify access_ok() context
2016-12-06 10:32:40 +01:00
prefetch.h
printk.h
printk: add Kconfig option to set default console loglevel
2016-12-12 18:55:09 -08:00
proc_fs.h
xen: features and fixes for 4.10 rc0
2016-12-13 16:07:55 -08:00
proc_ns.h
profile.h
projid.h
property.h
psci.h
pstore.h
pstore: Add ftrace timestamp counter
2016-11-15 16:34:27 -08:00
pstore_ram.h
ramoops: Split ftrace buffer space into per-CPU zones
2016-11-15 16:34:26 -08:00
pti.h
ptp_classify.h
ptp_clock_kernel.h
Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2016-12-12 19:56:15 -08:00
ptr_ring.h
ptrace.h
ptrace: Don't allow accessing an undumpable mm
2016-11-22 12:57:38 -06:00
pvclock_gtod.h
pwm.h
pwm_backlight.h
pxa2xx_ssp.h
pxa168_eth.h
qcom_scm.h
qnx6_fs.h
quicklist.h
quota.h
Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs
2016-12-19 08:23:53 -08:00
quotaops.h
quota: constify struct path in quota_on
2016-12-05 19:03:06 -05:00
radix-tree.h
mm: workingset: fix use-after-free in shadow node shrinker
2017-01-07 18:22:40 -08:00
raid_class.h
ramfs.h
random.h
range.h
ras.h
ratelimit.h
ratelimit: fix WARN_ON_RATELIMIT return value
2016-12-20 09:48:47 -08:00
rational.h
rbtree.h
rbtree_augmented.h
rbtree_latch.h
rcu_sync.h
rculist.h
rculist_bl.h
rculist_nulls.h
rcupdate.h
rcu: Narrow early boot window of illegal synchronous grace periods
2017-01-14 21:23:48 -08:00
rcutiny.h
rcutree.h
reboot.h
reciprocal_div.h
regmap.h
regset.h
relay.h
remoteproc.h
remoteproc: Merge table_ptr and cached_table pointers
2016-11-14 21:52:18 -08:00
reservation.h
dma-buf: Use fence_get_rcu_safe() for retrieving the exclusive fence
2016-11-15 08:30:02 +01:00
reset-controller.h
reset.h
resource.h
resource_ext.h
restart_block.h
thread_info: factor out restart_block
2016-11-11 18:24:16 +00:00
rfkill-regulator.h
rfkill.h
rhashtable.h
ring_buffer.h
tracing/rb: Convert to hotplug state machine
2016-12-02 00:52:34 +01:00
rio.h
rio_drv.h
rio_ids.h
rio_regs.h
rmap.h
mm, rmap: handle anon_vma_prepare() common case inline
2016-12-12 18:55:08 -08:00
rmi.h
Input: synaptics-rmi4 - add support for F34 V7 bootloader
2016-12-12 11:26:47 -08:00
rndis.h
root_dev.h
rpmsg.h
rslib.h
rtc.h
rtmutex.h
rtnetlink.h
rwlock.h
rwlock_api_smp.h
rwlock_types.h
rwsem-spinlock.h
rwsem.h
rxrpc.h
s3c_adc_battery.h
sa11x0-dma.h
sbitmap.h
scatterlist.h
scc.h
sched.h
Merge branch 'x86-cache-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2016-12-22 09:25:45 -08:00
sched_clock.h
scif.h
scpi_protocol.h
screen_info.h
sctp.h
scx200.h
scx200_gpio.h
sdb.h
sdla.h
seccomp.h
securebits.h
security.h
seg6.h
ipv6: implement dataplane support for rthdr type 4 (Segment Routing Header)
2016-11-09 20:40:06 -05:00
seg6_genl.h
ipv6: sr: add code base for control plane support of SR-IPv6
2016-11-09 20:40:06 -05:00
seg6_hmac.h
ipv6: sr: add core files for SR HMAC support
2016-11-09 20:40:06 -05:00
seg6_iptunnel.h
ipv6: sr: add support for SRH encapsulation and injection with lwtunnels
2016-11-09 20:40:06 -05:00
selection.h
selinux.h
sem.h
semaphore.h
seq_buf.h
seq_file.h
seq_file_net.h
seqlock.h
seqno-fence.h
serial.h
serial_8250.h
serial: 8250: Expose set_ldisc function
2016-11-16 10:59:38 +01:00
serial_bcm63xx.h
serial_core.h
linux: drop __bitwise__ everywhere
2016-12-16 00:13:41 +02:00
serial_max3100.h
serial_pnx8xxx.h
serial_s3c.h
serial_sci.h
serio.h
sfi.h
sfi_acpi.h
sh_clk.h
sh_dma.h
sh_eth.h
sh_intc.h
sh_timer.h
shdma-base.h
shm.h
shmem_fs.h
shrinker.h
signal.h
signals: avoid unnecessary taking of sighand->siglock
2016-12-14 16:04:07 -08:00
signalfd.h
sirfsoc_dma.h
sizes.h
skb_array.h
skbuff.h
ktime: Cleanup ktime_set() usage
2016-12-25 17:21:22 +01:00
slab.h
slab_def.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
srcu.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
stm: Mark the functions of writing STM with notrace
2016-11-22 17:48:04 -05:00
stmmac.h
net: smmac: allow configuring lower pbl values
2016-12-08 13:07:10 -05:00
stmp3xxx_rtc_wdt.h
stmp_device.h
stop_machine.h
string.h
string_helpers.h
stringhash.h
stringify.h
sudmac.h
sungem_phy.h
sunserialcore.h
sunxi-rsb.h
superhyway.h
suspend.h
PM / sleep / ACPI: Use the ACPI_FADT_LOW_POWER_S0 flag
2016-11-21 22:48:10 +01:00
svga.h
sw842.h
swab.h
swait.h
swap.h
Merge branch 'for-4.10/block' of git://git.kernel.dk/linux-block
2016-12-13 10:19:16 -08:00
swap_cgroup.h
swapfile.h
swapops.h
swiotlb.h
swiotlb: Export swiotlb_max_segment to users
2017-01-06 13:00:01 -05:00
sxgbe_platform.h
sync_file.h
synclink.h
sys.h
sys_soc.h
base: soc: Provide a dummy implementation of soc_device_match()
2016-11-10 10:10:37 +01:00
syscalls.h
syscore_ops.h
sysctl.h
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
tcp: tsq: move tsq_flags close to sk_wmem_alloc
2016-12-05 13:32:24 -05:00
textsearch.h
textsearch_fsm.h
tfrc.h
thermal.h
thermal: core: move trips attributes to tz->device.groups
2016-11-23 10:06:12 +08:00
thinkpad_acpi.h
thread_info.h
thread_info: include <current.h> for THREAD_INFO_IN_TASK
2016-11-11 18:25:08 +00:00
threads.h
ti_wilink_st.h
tick.h
ktime: Get rid of the union
2016-12-25 17:21:22 +01:00
tifm.h
timb_dma.h
timb_gpio.h
time.h
timer: Move sys_alarm from timer.c to itimer.c
2016-11-16 09:26:34 +01:00
time64.h
timecounter.h
clocksource: Use a plain u64 instead of cycle_t
2016-12-25 11:04:12 +01:00
timekeeper_internal.h
clocksource: Use a plain u64 instead of cycle_t
2016-12-25 11:04:12 +01:00
timekeeping.h
clocksource: Use a plain u64 instead of cycle_t
2016-12-25 11:04:12 +01:00
timer.h
timerfd.h
timeriomem-rng.h
timerqueue.h
timex.h
topology.h
torture.h
toshiba.h
tpm.h
tpm_command.h
trace.h
tracing: Add hook to function tracing for other subsystems to use
2016-11-22 17:40:00 -05:00
trace_clock.h
trace_events.h
trace_seq.h
tracefs.h
tracehook.h
tracepoint-defs.h
tracing: Have the reg function allow to fail
2016-12-09 09:13:30 -05:00
tracepoint.h
tracing: Have the reg function allow to fail
2016-12-09 09:13:30 -05:00
transport_class.h
tsacct_kern.h
tty.h
tty_driver.h
tty_flip.h
tty_ldisc.h
typecheck.h
types.h
clocksource: Use a plain u64 instead of cycle_t
2016-12-25 11:04:12 +01:00
u64_stats_sync.h
uaccess.h
ucb1400.h
ucs2_string.h
udp.h
udp: add batching to udp_rmem_release()
2016-12-09 22:12:21 -05:00
uidgid.h
uinput.h
uio.h
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2016-12-16 10:24:44 -08:00
uio_driver.h
uprobes.h
sparc64:Support User Probes for sparc
2016-12-11 18:01:51 -08:00
usb.h
usb_usual.h
usbdevice_fs.h
user-return-notifier.h
user.h
user_namespace.h
userfaultfd_k.h
mm: join struct fault_env and vm_fault
2016-12-14 16:04:09 -08:00
util_macros.h
uts.h
utsname.h
uuid.h
uwb.h
verification.h
vermagic.h
vexpress.h
vfio.h
vfio: support notifier chain in vfio_group
2016-12-01 10:40:05 -07:00
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_mmio.h
virtio_net.h
virtio_net: Do not clear memory for struct virtio_net_hdr twice.
2016-11-19 10:37:03 -05:00
virtio_ring.h
virtio_vsock.h
vlynq.h
vm_event_item.h
vm_sockets.h
vmacache.h
vmalloc.h
mm: add vfree_atomic()
2016-12-12 18:55:08 -08:00
vme.h
VME: Remove shutdown entry from vme_driver
2016-12-06 11:03:22 +01:00
vmpressure.h
vmstat.h
vmw_vmci_api.h
vmw_vmci_defs.h
vringh.h
vt.h
vt_buffer.h
vt_kern.h
vtime.h
w1-gpio.h
wait.h
ktime: Get rid of the union
2016-12-25 17:21:22 +01:00
wanrouter.h
watchdog.h
win_minmax.h
wireless.h
wkup_m3_ipc.h
wl12xx.h
wm97xx.h
workqueue.h
Merge branch 'for-4.10' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq
2016-12-13 12:59:57 -08:00
writeback.h
mm: add PageWaiters indicating tasks are waiting for a page bit
2016-12-25 11:54:48 -08:00
ww_mutex.h
locking/ww_mutex: Use relaxed atomics
2016-12-06 10:42:03 +01:00
xattr.h
xz.h
yam.h
z2_battery.h
zbud.h
zconf.h
zlib.h
zorro.h
zpool.h
zsmalloc.h
zutil.h