Nadav Amit
16af97dc5a
mm: migrate: prevent racy access to tlb_flush_pending
...
Patch series "fixes of TLB batching races", v6.
It turns out that Linux TLB batching mechanism suffers from various
races. Races that are caused due to batching during reclamation were
recently handled by Mel and this patch-set deals with others. The more
fundamental issue is that concurrent updates of the page-tables allow
for TLB flushes to be batched on one core, while another core changes
the page-tables. This other core may assume a PTE change does not
require a flush based on the updated PTE value, while it is unaware that
TLB flushes are still pending.
This behavior affects KSM (which may result in memory corruption) and
MADV_FREE and MADV_DONTNEED (which may result in incorrect behavior). A
proof-of-concept can easily produce the wrong behavior of MADV_DONTNEED.
Memory corruption in KSM is harder to produce in practice, but was
observed by hacking the kernel and adding a delay before flushing and
replacing the KSM page.
Finally, there is also one memory barrier missing, which may affect
architectures with weak memory model.
This patch (of 7):
Setting and clearing mm->tlb_flush_pending can be performed by multiple
threads, since mmap_sem may only be acquired for read in
task_numa_work(). If this happens, tlb_flush_pending might be cleared
while one of the threads still changes PTEs and batches TLB flushes.
This can lead to the same race between migration and
change_protection_range() that led to the introduction of
tlb_flush_pending. The result of this race was data corruption, which
means that this patch also addresses a theoretically possible data
corruption.
An actual data corruption was not observed, yet the race was was
confirmed by adding assertion to check tlb_flush_pending is not set by
two threads, adding artificial latency in change_protection_range() and
using sysctl to reduce kernel.numa_balancing_scan_delay_ms.
Link: http://lkml.kernel.org/r/20170802000818.4760-2-namit@vmware.com
Fixes: 2084140594 ("mm: fix TLB flush race between migration, and
change_protection_range")
Signed-off-by: Nadav Amit <namit@vmware.com>
Acked-by: Mel Gorman <mgorman@suse.de>
Acked-by: Rik van Riel <riel@redhat.com>
Acked-by: Minchan Kim <minchan@kernel.org>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Hugh Dickins <hughd@google.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Jeff Dike <jdike@addtoit.com>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Mel Gorman <mgorman@techsingularity.net>
Cc: Russell King <linux@armlinux.org.uk>
Cc: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2017-08-10 15:54:07 -07:00
..
amba
main drm pull for v4.13
2017-07-09 18:48:37 -07:00
avf
bcma
byteorder
can
ceph
libceph: make RECOVERY_DELETES feature create a new interval
2017-08-01 16:46:45 +02:00
clk
crush
libceph: fallback for when there isn't a pool-specific choose_arg
2017-08-01 16:46:44 +02:00
decompress
dma
extcon
firmware /meson
fpga
fsl
gpio
This is the bulk of GPIO changes for the v4.13 series:
2017-07-07 12:40:27 -07:00
hsi
i2c
Merge branch 'i2c/for-4.13' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux
2017-07-12 10:04:56 -07:00
iio
Char/Misc patches for 4.13-rc1
2017-07-03 20:55:59 -07:00
input
irqchip
isdn
lockd
sunrpc: mark all struct svc_procinfo instances as const
2017-07-13 15:58:02 -04:00
mailbox
mfd
chrome-platform-for-linus-4.13
2017-07-11 09:55:47 -07:00
mlx4
net/mlx4_en: Fix wrong indication of Wake-on-LAN (WoL) support
2017-08-02 10:44:09 -07:00
mlx5
Third set of -rc fixes for 4.13 cycle
2017-08-08 11:42:33 -07:00
mmc
mtd
mtd: nand: Declare tBERS, tR and tPROG as u64 to avoid integer overflow
2017-08-02 10:26:42 +02:00
mux
netfilter
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
perf
drivers/perf: arm_pmu: Request PMU SPIs with IRQF_PER_CPU
2017-07-27 13:43:22 +01:00
phy
pinctrl
pinctrl: generic: update references to Documentation/pinctrl.txt
2017-08-07 15:26:34 +02:00
platform_data
mmc: host: omap_hsmmc: remove unused platform callbacks
2017-07-17 15:05:52 +02:00
power
qed
qed: iWARP CM add error handling
2017-07-03 01:43:45 -07:00
raid
regulator
remoteproc
reset
rpmsg
rtc
sched
Now that IPC and other changes have landed, enable manual markings for
2017-07-19 08:55:18 -07:00
soc
Actions Semi SoC drivers for 4.13
2017-06-29 17:34:57 +02:00
spi
This is the big bulk of pin control changes for the v4.13 series:
2017-07-06 11:38:59 -07:00
ssb
sunrpc
Chuck's RDMA update overhauls the "call receive" side of the
2017-07-13 13:56:24 -07:00
ulpi
unaligned
usb
USB fixes for 4.13-rc2
2017-07-22 08:55:16 -07:00
uwb
wimax
8250_pci.h
a.out.h
acct.h
acpi.h
Device properties framework updates for v4.13-rc1
2017-07-10 15:23:45 -07: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
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
net, atm: convert atm_dev.refcnt from atomic_t to refcount_t
2017-07-04 22:35:16 +01:00
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
writeback: rework wb_[dec|inc]_stat family of functions
2017-07-12 16:26:05 -07: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
randstruct: Mark various structs for randomization
2017-06-30 12:00:51 -07:00
bio.h
bio-integrity: stop abusing bi_end_io
2017-07-03 17:00:59 -06:00
bit_spinlock.h
bitfield.h
bitmap.h
bitmap: use memcmp optimisation in more situations
2017-07-10 16:32:34 -07:00
bitops.h
bitrev.h
blk-cgroup.h
blk-mq-pci.h
blk-mq-virtio.h
blk-mq.h
Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2017-07-03 13:08:04 -07:00
blk_types.h
block: add support for write hints in a bio
2017-06-27 12:05:27 -06:00
blkdev.h
block: remove the queue_bounce_pfn helper
2017-06-27 12:13:45 -06:00
blkpg.h
blktrace_api.h
blockgroup_lock.h
bma150.h
bootmem.h
mm: zero hash tables in allocator
2017-07-06 16:24:33 -07:00
bottom_half.h
bpf-cgroup.h
bpf: check NULL for sk_to_full_sk() return value
2017-07-17 13:37:56 -07:00
bpf.h
bpf: simplify narrower ctx access
2017-07-03 02:22:52 -07:00
bpf_trace.h
bpf_types.h
bpf: BPF support for sock_ops
2017-07-01 16:15:13 -07:00
bpf_verifier.h
bpf: fix mixed signed/unsigned derived min/max value bounds
2017-07-20 15:20:27 -07:00
brcmphy.h
bsearch.h
bsg-lib.h
bsg.h
btree-128.h
btree-type.h
btree.h
btrfs.h
buffer_head.h
Changes for 4.13:
2017-07-10 10:51:53 -07:00
bug.h
bug: split BUILD_BUG stuff out into <linux/build_bug.h>
2017-07-10 16:32:34 -07:00
build_bug.h
bug: split BUILD_BUG stuff out into <linux/build_bug.h>
2017-07-10 16:32:34 -07:00
bvec.h
bio: add bvec_iter rewind API
2017-07-03 16:56:28 -06:00
c2port.h
cache.h
cacheinfo.h
capability.h
cb710.h
cciss_ioctl.h
ccp.h
cdev.h
randstruct: Mark various structs for randomization
2017-06-30 12:00:51 -07:00
cdrom.h
cfag12864b.h
cgroup-defs.h
cgroup: implement "nsdelegate" mount option
2017-06-28 14:45:21 -04:00
cgroup.h
cgroup_rdma.h
cgroup_subsys.h
circ_buf.h
cleancache.h
clk-provider.h
clk.h
Small patch to add a clk_bulk_prepare_enable() and
2017-07-14 12:37:41 -07:00
clkdev.h
clock_cooling.h
clockchips.h
clocksource.h
Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2017-07-03 16:14:51 -07:00
cm4000_cs.h
cma.h
cmdline-parser.h
cn_proc.h
cnt32_to_63.h
coda.h
coda_psdev.h
compaction.h
compat.h
Merge branch 'misc.compat' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2017-07-06 20:57:13 -07:00
compiler-clang.h
compiler, clang: always inline when CONFIG_OPTIMIZE_INLINING is disabled
2017-07-06 16:24:29 -07:00
compiler-gcc.h
Now that IPC and other changes have landed, enable manual markings for
2017-07-19 08:55:18 -07:00
compiler-intel.h
compiler.h
Now that IPC and other changes have landed, enable manual markings for
2017-07-19 08:55:18 -07:00
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
Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux
2017-07-14 13:12:32 -07:00
cpuhotplug.h
scsi: bnx2i: Simplify cpu hotplug code
2017-07-26 21:51:25 -04:00
cpuidle.h
cpumask.h
cpuset.h
cpuset: fix a deadlock due to incomplete patching of cpusets_enabled()
2017-08-02 17:16:12 -07:00
crash_core.h
kdump: protect vmcoreinfo data under the crash memory
2017-07-12 16:26:00 -07:00
crash_dump.h
crc-ccitt.h
crc-itu-t.h
crc-t10dif.h
crc4.h
crc7.h
crc8.h
crc16.h
crc32.h
crc32c.h
cred.h
Now that IPC and other changes have landed, enable manual markings for
2017-07-19 08:55:18 -07:00
crypto.h
cryptohash.h
cs5535.h
ctype.h
cuda.h
cyclades.h
davinci_emac.h
dax.h
dm, dax: Make sure dm_dax_flush() is called if device supports it
2017-07-26 15:55:44 -04:00
dca.h
dcache.h
Now that IPC and other changes have landed, enable manual markings for
2017-07-19 08:55:18 -07:00
dccp.h
dcookies.h
debug_locks.h
debugfs.h
debugobjects.h
delay.h
delayacct.h
delayed_call.h
dell-led.h
devcoredump.h
devfreq-event.h
devfreq.h
devfreq_cooling.h
device-mapper.h
libnvdimm for 4.13
2017-07-07 09:44:06 -07:00
device.h
pinctrl: generic: update references to Documentation/pinctrl.txt
2017-08-07 15:26:34 +02: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
dma-buf/fence: Avoid use of uninitialised timestamp
2017-07-14 16:09:55 -03:00
dma-iommu.h
dma-mapping.h
dma-coherent: introduce interface for default DMA pool
2017-07-20 16:09:10 +02: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
efs_vh.h
eisa.h
elevator.h
elf-fdpic.h
elf-randomize.h
elf.h
elfcore-compat.h
elfcore.h
elfnote.h
enclosure.h
err.h
errno.h
errqueue.h
errseq.h
lib: add errseq_t type and infrastructure for handling it
2017-07-06 07:02:24 -04:00
etherdevice.h
ethtool.h
eventfd.h
eventpoll.h
kcmp: fs/epoll: wrap kcmp code with CONFIG_CHECKPOINT_RESTORE
2017-07-12 16:26:01 -07:00
evm.h
export.h
exportfs.h
ext2_fs.h
extable.h
lib/extable.c: use bsearch() library function in search_extable()
2017-07-10 16:32:35 -07:00
extcon.h
f2fs_fs.h
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
filter.h
include/linux/filter.h: use linux/set_memory.h
2017-07-06 16:24:30 -07:00
fips.h
firewire.h
firmware-map.h
firmware.h
fixp-arith.h
flat.h
binfmt_flat: flat_{get,put}_addr_from_rp() should be able to fail
2017-07-03 18:44:02 -04:00
flex_array.h
flex_proportions.h
fmc-sdb.h
fmc.h
font.h
frame.h
freezer.h
frontswap.h
fs.h
Now that IPC and other changes have landed, enable manual markings for
2017-07-19 08:55:18 -07:00
fs_enet_pd.h
fs_pin.h
fs_stack.h
fs_struct.h
randstruct: Mark various structs for randomization
2017-06-30 12:00:51 -07:00
fs_uart_pd.h
fscache-cache.h
fscache.h
fscrypt_common.h
The first major feature for ext4 this merge window is the largedir
2017-07-09 09:31:22 -07:00
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
dentry name snapshots
2017-07-07 20:09:10 -04:00
fsnotify_backend.h
ftrace.h
trace: fix the errors caused by incompatible type of RCU variables
2017-07-20 09:27:29 -04:00
ftrace_irq.h
futex.h
fwnode.h
device property: Introduce fwnode_call_bool_op() for ops that return bool
2017-07-12 13:32:46 +02:00
gameport.h
gcd.h
genalloc.h
genetlink.h
genhd.h
genl_magic_func.h
genl_magic_struct.h
getcpu.h
gfp.h
mm, tree wide: replace __GFP_REPEAT by __GFP_RETRY_MAYFAIL with more useful semantic
2017-07-12 16:26:03 -07: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
hashtable: remove repeated phrase from a comment
2017-06-30 13:49:53 -07:00
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.13/multitouch', 'for-4.13/retrode', 'for-4.13/transport-open-close-consolidation', 'for-4.13/upstream' and 'for-4.13/wacom' into for-linus
2017-07-10 11:11:25 +02: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
nanosleep: Use get_timespec64() and put_timespec64()
2017-06-30 04:14:14 -04:00
htcpld.h
htirq.h
huge_mm.h
mm: always enable thp for dax mappings
2017-07-10 16:32:31 -07:00
hugetlb.h
Merge branch 'work.mount' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2017-07-15 12:00:42 -07: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-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-xiic.h
i2c.h
i2c: rephrase explanation of I2C_CLASS_DEPRECATED
2017-07-31 17:33:53 +02:00
i7300_idle.h
i8042.h
i8253.h
icmp.h
icmpv6.h
ide.h
idr.h
ieee80211.h
ieee80211: update public action codes
2017-06-30 09:47:24 +03:00
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
net: convert ip_mc_list.refcnt from atomic_t to refcount_t
2017-07-01 07:39:08 -07:00
ihex.h
ima.h
imx-media.h
in.h
in6.h
inet.h
inet_diag.h
inetdevice.h
net: convert in_device.refcnt from atomic_t to refcount_t
2017-07-01 07:39:08 -07:00
init.h
init_ohci1394_dma.h
init_task.h
sched/cputime: Move the vtime task fields to their own struct
2017-07-05 09:54:15 +02:00
initrd.h
ARM: fix rd_size declaration
2017-07-10 16:32:34 -07:00
inotify.h
input-polldev.h
input.h
integrity.h
intel-iommu.h
intel-svm.h
interrupt.h
Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2017-07-09 10:24:46 -07: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
Changes for 4.13:
2017-07-10 10:51:53 -07:00
iommu-common.h
iommu-helper.h
iommu.h
iopoll.h
ioport.h
ioprio.h
iova.h
ip.h
ipack.h
ipc.h
Now that IPC and other changes have landed, enable manual markings for
2017-07-19 08:55:18 -07:00
ipc_namespace.h
randstruct: Mark various structs for randomization
2017-06-30 12:00:51 -07:00
ipmi-fru.h
ipmi.h
ipmi_smi.h
ipv6.h
udp6: fix jumbogram reception
2017-07-31 22:01:21 -07:00
ipv6_route.h
irq.h
genirq/cpuhotplug: Revert "Set force affinity flag on hotplug migration"
2017-07-27 15:40:02 +02:00
irq_cpustat.h
irq_poll.h
irq_work.h
irqbypass.h
irqchip.h
irqdesc.h
genirq: Add mutex to irq desc to serialize request/free_irq()
2017-07-04 12:46:16 +02:00
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
isicom.h
jbd2.h
jhash.h
jhash: fix -Wimplicit-fallthrough warnings
2017-07-17 09:22:34 -07:00
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
kdebug.h
kdev_t.h
kern_levels.h
kernel-page-flags.h
kernel.h
kernel.h: handle pointers to arrays better in container_of()
2017-07-12 16:25:59 -07:00
kernel_stat.h
kernelcapi.h
kernfs.h
kexec.h
kdump: protect vmcoreinfo data under the crash memory
2017-07-12 16:26:00 -07:00
key-type.h
randstruct: Mark various structs for randomization
2017-06-30 12:00:51 -07:00
key.h
There has been a fair amount of activity in the docs tree this time
2017-07-03 21:13:25 -07:00
keyboard.h
kfifo.h
kgdb.h
khugepaged.h
mm: make PR_SET_THP_DISABLE immediately active
2017-07-10 16:32:31 -07:00
klist.h
kmemcheck.h
kmemleak.h
mm: kmemleak: treat vm_struct as alternative reference to vmalloc'ed objects
2017-07-06 16:24:34 -07:00
kmod.h
randstruct: Mark various structs for randomization
2017-06-30 12:00:51 -07:00
kmsg_dump.h
kobj_map.h
kobject.h
Now that IPC and other changes have landed, enable manual markings for
2017-07-19 08:55:18 -07:00
kobject_ns.h
kprobes.h
kprobes: Rename [arch_]function_offset_within_entry() to [arch_]kprobe_on_func_entry()
2017-07-08 11:05:34 +02:00
kref.h
ks0108.h
ks8842.h
ks8851_mll.h
ksm.h
kthread.h
kthread: fix documentation build warning
2017-08-02 16:34:47 -07:00
ktime.h
kvm_host.h
KVM: avoid using rcu_dereference_protected
2017-08-02 22:41:02 +02: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
leds_pwm.h
lguest.h
lguest_launcher.h
libata.h
libata: Cleanup ata_read_log_page()
2017-07-10 13:41:04 -04:00
libfdt.h
libfdt_env.h
libnvdimm.h
Merge branch 'for-4.13/dax' into libnvdimm-for-next
2017-07-03 16:54:58 -07:00
libps2.h
license.h
lightnvm.h
linkage.h
linux_logo.h
lis3lv02d.h
list.h
list_bl.h
list_lru.h
mm/list_lru.c: fix list_lru_count_node() to be race free
2017-07-10 16:32:33 -07:00
list_nulls.h
list_sort.h
livepatch.h
llc.h
llist.h
llist: clang: introduce member_address_is_nonnull()
2017-07-19 15:33:50 -07:00
lockdep.h
lockref.h
log2.h
lp.h
lru_cache.h
lsm_audit.h
lsm_hooks.h
Now that IPC and other changes have landed, enable manual markings for
2017-07-19 08:55:18 -07:00
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
memblock.h
mm, memory_hotplug: move movable_node to the hotplug proper
2017-07-06 16:24:35 -07:00
memcontrol.h
mm: memcontrol: per-lruvec stats infrastructure
2017-07-06 16:24:35 -07:00
memory.h
memory_hotplug.h
mm, memory_hotplug: move movable_node to the hotplug proper
2017-07-06 16:24:35 -07:00
mempolicy.h
mm, mempolicy: simplify rebinding mempolicies when updating cpusets
2017-07-06 16:24:34 -07:00
mempool.h
memremap.h
memstick.h
mic_bus.h
micrel_phy.h
microchipphy.h
migrate.h
mm, migration: do not trigger OOM killer when migrating memory
2017-07-12 16:26:04 -07:00
migrate_mode.h
mii.h
miscdevice.h
mISDNdsp.h
mISDNhw.h
mISDNif.h
mm-arch-hooks.h
mm.h
Writeback error handling fixes (pile #1 )
2017-07-07 18:39:15 -07:00
mm_inline.h
mm_types.h
mm: migrate: prevent racy access to tlb_flush_pending
2017-08-10 15:54:07 -07:00
mm_types_task.h
mman.h
mmdebug.h
mmiotrace.h
mmu_context.h
mmu_notifier.h
mmzone.h
mm: disallow early_pfn_to_nid on configurations which do not implement it
2017-07-10 16:32:33 -07:00
mnt_namespace.h
mod_devicetable.h
module.h
Now that IPC and other changes have landed, enable manual markings for
2017-07-19 08:55:18 -07:00
moduleloader.h
moduleparam.h
moduleparam: fix doc: hwparam_irq configures an IRQ
2017-07-02 15:37:23 -07:00
mount.h
randstruct: Mark various structs for randomization
2017-06-30 12:00:51 -07:00
mpage.h
mpi.h
mpls.h
mpls_iptunnel.h
mroute.h
mroute6.h
msdos_fs.h
msg.h
randstruct: Mark various structs for randomization
2017-06-30 12:00:51 -07:00
msi.h
mutex.h
mv643xx.h
mv643xx_eth.h
mv643xx_i2c.h
mvebu-pmsu.h
mxm-wmi.h
n_r3964.h
namei.h
nd.h
libnvdimm, btt: BTT updates for UEFI 2.7 format
2017-06-29 13:50:38 -07:00
net.h
netdev_features.h
netdevice.h
bonding: avoid NETDEV_CHANGEMTU event when unregistering slave
2017-07-08 11:23:29 +01:00
netfilter.h
netfilter: remove old pre-netns era hook api
2017-07-17 17:01:10 +02:00
netfilter_bridge.h
netfilter_defs.h
netfilter_ingress.h
netfilter_ipv4.h
netfilter_ipv6.h
netlink.h
netpoll.h
net: convert netpoll_info.refcnt from atomic_t to refcount_t
2017-07-01 07:39:08 -07:00
nfs.h
nfs3.h
nfs4.h
nfs4: add NFSv4 LOOKUPP handlers
2017-07-13 16:00:15 -04:00
nfs_fs.h
NFS: Store the raw NFS access mask in the inode's access cache
2017-07-21 11:51:19 -04:00
nfs_fs_i.h
nfs_fs_sb.h
NFSv4.1: Handle EXCHGID4_FLAG_CONFIRMED_R during NFSv4.1 migration
2017-07-13 16:00:12 -04:00
nfs_iostat.h
nfs_page.h
NFS: Don't run wake_up_bit() when nobody is waiting...
2017-07-13 17:12:07 -04:00
nfs_xdr.h
NFSv4: Fix EXCHANGE_ID corrupt verifier issue
2017-08-01 16:28:55 -04:00
nfsacl.h
nl802154.h
nls.h
nmi.h
kernel/watchdog: split up config options
2017-07-12 16:26:02 -07:00
node.h
mm, memory_hotplug: split up register_one_node()
2017-07-06 16:24:32 -07:00
nodemask.h
mm, memory_hotplug: drop CONFIG_MOVABLE_NODE
2017-07-06 16:24:35 -07:00
notifier.h
ns_common.h
nsc_gpio.h
nsproxy.h
ntb.h
NTB: Add ntb.h comments
2017-07-06 11:30:07 -04:00
ntb_transport.h
nubus.h
numa.h
nvme-fc-driver.h
nvme-fc.h
nvme-fc: revise TRADDR parsing
2017-07-25 18:05:25 +02:00
nvme-rdma.h
nvme.h
nvme: fabrics commands should use the fctype field for data direction
2017-07-25 17:58:32 +02:00
nvmem-consumer.h
nvmem-provider.h
nvmem: include linux/err.h from header
2017-07-10 14:27:39 +02:00
nvram.h
of.h
Device properties framework updates for v4.13-rc1
2017-07-10 15:23:45 -07:00
of_address.h
of_device.h
of_dma.h
of_fdt.h
of_gpio.h
of_graph.h
of_iommu.h
of_irq.h
of_mdio.h
of_net.h
of_pci.h
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, THP, swap: delay splitting THP during swap out
2017-07-06 16:24:31 -07:00
page-isolation.h
page_counter.h
page_ext.h
page_idle.h
page_owner.h
page_ref.h
include/linux/page_ref.h: ensure page_ref_unfreeze is ordered against prior accesses
2017-07-10 16:32:31 -07:00
pageblock-flags.h
pagemap.h
mm: allow page_cache_get_speculative in interrupt context
2017-08-02 17:16:13 -07:00
pagevec.h
parman.h
parport.h
parport_pc.h
parser.h
pata_arasan_cf_data.h
patchkey.h
path.h
randstruct: Mark various structs for randomization
2017-06-30 12:00:51 -07:00
pch_dma.h
pci-acpi.h
pci-aspm.h
pci-ats.h
pci-dma-compat.h
pci-dma.h
pci-ecam.h
pci-ep-cfs.h
pci-epc.h
pci-epf.h
pci.h
pci-v4.13-changes
2017-07-08 15:51:57 -07:00
pci_hotplug.h
pci_ids.h
PCI: tango: Add Sigma Designs Tango SMP8759 PCIe host bridge support
2017-07-07 13:41:28 -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
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
2017-07-05 12:31:59 -07:00
perf_regs.h
personality.h
pfn.h
pfn_t.h
phonet.h
phy.h
net: phy: Remove trailing semicolon in macro definition
2017-07-25 12:33:43 -07:00
phy_fixed.h
phy_led_triggers.h
pid.h
pid_namespace.h
randstruct: Mark various structs for randomization
2017-06-30 12:00:51 -07:00
pim.h
pipe_fs_i.h
pkeys.h
pktcdvd.h
pl320-ipc.h
platform_device.h
platform: Accept const properties
2017-07-03 08:31:43 +02:00
plist.h
pm-trace.h
pm.h
PM / core: Drop run_wake flag from struct dev_pm_info
2017-06-28 01:52:52 +02:00
pm2301_charger.h
pm_clock.h
pm_domain.h
pm_opp.h
pm_qos.h
pm_runtime.h
PM / core: Drop run_wake flag from struct dev_pm_info
2017-06-28 01:52:52 +02:00
pm_wakeirq.h
pm_wakeup.h
pmbus.h
pmu.h
pnfs_osd_xdr.h
pnp.h
poison.h
poll.h
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
randstruct: Mark various structs for randomization
2017-06-30 12:00:51 -07:00
processor.h
spin loop primitives for busy waiting
2017-06-28 22:49:11 +10:00
profile.h
projid.h
property.h
psci.h
pstore.h
pstore_ram.h
pti.h
ptp_classify.h
ptp_clock_kernel.h
ptp: introduce ptp auxiliary worker
2017-08-01 15:22:55 -07:00
ptr_ring.h
ptrace.h
m68k updates for 4.13
2017-07-03 15:12:52 -07:00
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
raid_class.h
ramfs.h
random.h
Add wait_for_random_bytes() and get_random_*_wait() functions so that
2017-07-15 12:44:02 -07:00
range.h
ras.h
ras: mark stub functions as 'inline'
2017-06-29 10:48:57 +01:00
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
locking/refcount: Remove the half-implemented refcount_sub() API
2017-07-02 11:24:36 +02:00
regmap.h
Merge remote-tracking branches 'regmap/topic/1wire', 'regmap/topic/irq' and 'regmap/topic/lzo' into regmap-next
2017-07-03 16:20:28 +01: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
rtc: Remove wrong deprecation comment
2017-07-12 23:11:23 +02:00
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
Now that IPC and other changes have landed, enable manual markings for
2017-07-19 08:55:18 -07:00
sched_clock.h
scif.h
scpi_protocol.h
screen_info.h
sctp.h
sctp: remove the typedef sctp_init_chunk_t
2017-07-01 09:08:42 -07:00
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
selection.h
selinux.h
sem.h
Now that IPC and other changes have landed, enable manual markings for
2017-07-19 08:55:18 -07:00
semaphore.h
seq_buf.h
seq_file.h
seq_file_net.h
seqlock.h
seqno-fence.h
serdev.h
serial.h
serial_8250.h
serial_bcm63xx.h
serial_core.h
serial_max3100.h
serial_pnx8xxx.h
serial_s3c.h
serial_sci.h
serio.h
set_memory.h
provide linux/set_memory.h
2017-07-06 16:24:30 -07:00
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
randstruct: Mark various structs for randomization
2017-06-30 12:00:51 -07:00
shmem_fs.h
shrinker.h
signal.h
Merge branch 'misc.compat' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2017-07-06 20:57:13 -07:00
signal_types.h
signalfd.h
siphash.h
sirfsoc_dma.h
sizes.h
skb_array.h
skbuff.h
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
2017-07-05 12:31:59 -07:00
slab.h
mm, tree wide: replace __GFP_REPEAT by __GFP_RETRY_MAYFAIL with more useful semantic
2017-07-12 16:26:03 -07:00
slab_def.h
slub_def.h
mm/slub.c: wrap kmem_cache->cpu_partial in config CONFIG_SLUB_CPU_PARTIAL
2017-07-06 16:24:30 -07:00
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
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.mount' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2017-07-15 12:00:42 -07:00
string_helpers.h
stringhash.h
stringify.h
sudmac.h
sungem_phy.h
sunserialcore.h
sunxi-rsb.h
superhyway.h
suspend.h
svga.h
sw842.h
swab.h
swait.h
swap.h
mm: swap: provide lru_add_drain_all_cpuslocked()
2017-07-10 16:32:33 -07:00
swap_cgroup.h
mm, THP, swap: delay splitting THP during swap out
2017-07-06 16:24:31 -07:00
swap_slots.h
swapfile.h
swapops.h
mm: hwpoison: change PageHWPoison behavior on hugetlb pages
2017-07-10 16:32:30 -07:00
swiotlb.h
sxgbe_platform.h
sync_file.h
synclink.h
sys.h
sys_soc.h
syscalls.h
syscore_ops.h
sysctl.h
Now that IPC and other changes have landed, enable manual markings for
2017-07-19 08:55:18 -07:00
sysfs.h
syslog.h
sysrq.h
sysv_fs.h
t10-pi.h
t10-pi: Move opencoded contants to common header
2017-07-03 16:56:25 -06:00
task_io_accounting.h
task_io_accounting_ops.h
task_work.h
taskstats_kern.h
tboot.h
tc.h
tca6416_keypad.h
tcp.h
tee_drv.h
textsearch.h
textsearch_fsm.h
tfrc.h
thermal.h
thinkpad_acpi.h
thread_info.h
copy_{to,from}_user(): consolidate object size checks
2017-06-29 22:21:21 -04:00
threads.h
ti_wilink_st.h
tick.h
tifm.h
timb_dma.h
timb_gpio.h
time.h
Merge branch 'misc.compat' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2017-07-06 20:57:13 -07:00
time64.h
timecounter.h
timekeeper_internal.h
timekeeping.h
timer.h
timerfd.h
timeriomem-rng.h
timerqueue.h
timex.h
topology.h
torture.h
toshiba.h
tpm.h
tpm_command.h
trace.h
trace_clock.h
trace_events.h
trace: fix the errors caused by incompatible type of RCU variables
2017-07-20 09:27:29 -04:00
trace_seq.h
tracefs.h
tracehook.h
tracepoint-defs.h
tracepoint.h
transport_class.h
tsacct_kern.h
tty.h
Now that IPC and other changes have landed, enable manual markings for
2017-07-19 08:55:18 -07:00
tty_driver.h
randstruct: Mark various structs for randomization
2017-06-30 12:00:51 -07:00
tty_flip.h
tty_ldisc.h
typecheck.h
types.h
u64_stats_sync.h
uaccess.h
Merge branch 'work.__copy_in_user' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2017-07-08 10:15:02 -07:00
ucb1400.h
ucs2_string.h
udp.h
uidgid.h
uinput.h
uio.h
fix brown paperbag bug in inlined copy_..._iter()
2017-07-10 07:40:49 -04:00
uio_driver.h
uprobes.h
usb.h
usb_usual.h
usbdevice_fs.h
user-return-notifier.h
user.h
user_namespace.h
randstruct: Mark various structs for randomization
2017-06-30 12:00:51 -07:00
userfaultfd_k.h
util_macros.h
uts.h
utsname.h
randstruct: Mark various structs for randomization
2017-06-30 12:00:51 -07:00
uuid.h
uuid: remove uuid_be
2017-07-24 17:50:37 +02:00
uwb.h
verification.h
vermagic.h
vexpress.h
vfio.h
include/linux/vfio.h: Guard powerpc-specific functions with CONFIG_VFIO_SPAPR_EEH
2017-07-26 13:30:23 -06: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_net.h
virtio_ring.h
virtio_vsock.h
vlynq.h
vm_event_item.h
mm/oom_kill: count global and memory cgroup oom kills
2017-07-06 16:24:35 -07:00
vm_sockets.h
vmacache.h
vmalloc.h
vme.h
vmpressure.h
vmstat.h
mm: memcontrol: per-lruvec stats infrastructure
2017-07-06 16:24:35 -07:00
vmw_vmci_api.h
vmw_vmci_defs.h
vringh.h
vt.h
vt_buffer.h
vt_kern.h
vtime.h
vtime, sched/cputime: Remove vtime_account_user()
2017-07-05 09:54:14 +02:00
w1-gpio.h
w1.h
wait.h
sched/wait: Clean up some documentation warnings
2017-07-25 11:17:02 +02:00
wait_bit.h
wanrouter.h
watchdog.h
win_minmax.h
wireless.h
wkup_m3_ipc.h
wl12xx.h
wm97xx.h
wmi.h
workqueue.h
workqueue: implicit ordered attribute should be overridable
2017-07-25 13:28:56 -04:00
writeback.h
ww_mutex.h
xattr.h
xz.h
yam.h
z2_battery.h
zbud.h
zconf.h
zlib.h
zorro.h
zpool.h
zsmalloc.h
zutil.h