linux-stable/include/linux
Sean Christopherson de2e6b4e32 mm/mmu_notifiers: ensure range_end() is paired with range_start()
[ Upstream commit c2655835fd ]

If one or more notifiers fails .invalidate_range_start(), invoke
.invalidate_range_end() for "all" notifiers.  If there are multiple
notifiers, those that did not fail are expecting _start() and _end() to
be paired, e.g.  KVM's mmu_notifier_count would become imbalanced.
Disallow notifiers that can fail _start() from implementing _end() so
that it's unnecessary to either track which notifiers rejected _start(),
or had already succeeded prior to a failed _start().

Note, the existing behavior of calling _start() on all notifiers even
after a previous notifier failed _start() was an unintented "feature".
Make it canon now that the behavior is depended on for correctness.

As of today, the bug is likely benign:

  1. The only caller of the non-blocking notifier is OOM kill.
  2. The only notifiers that can fail _start() are the i915 and Nouveau
     drivers.
  3. The only notifiers that utilize _end() are the SGI UV GRU driver
     and KVM.
  4. The GRU driver will never coincide with the i195/Nouveau drivers.
  5. An imbalanced kvm->mmu_notifier_count only causes soft lockup in the
     _guest_, and the guest is already doomed due to being an OOM victim.

Fix the bug now to play nice with future usage, e.g.  KVM has a
potential use case for blocking memslot updates in KVM while an
invalidation is in-progress, and failure to unblock would result in said
updates being blocked indefinitely and hanging.

Found by inspection.  Verified by adding a second notifier in KVM that
periodically returns -EAGAIN on non-blockable ranges, triggering OOM,
and observing that KVM exits with an elevated notifier count.

Link: https://lkml.kernel.org/r/20210311180057.1582638-1-seanjc@google.com
Fixes: 93065ac753 ("mm, oom: distinguish blockable mode for mmu notifiers")
Signed-off-by: Sean Christopherson <seanjc@google.com>
Suggested-by: Jason Gunthorpe <jgg@ziepe.ca>
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Cc: David Rientjes <rientjes@google.com>
Cc: Ben Gardon <bgardon@google.com>
Cc: Michal Hocko <mhocko@suse.com>
Cc: "Jérôme Glisse" <jglisse@redhat.com>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Dimitri Sivanich <dimitri.sivanich@hpe.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-03-30 14:32:06 +02:00
..
amba
avf
bcma
byteorder
can can: skb: can_skb_set_owner(): fix ref counting if socket was closed before setting skb ownership 2021-03-17 17:06:11 +01:00
ceph
clk
crush
decompress
device
dma dmaengine: ti-cppi5: Replace zero-length array with flexible-array member 2020-10-29 17:22:59 -05:00
dsa
extcon
firmware firmware: xilinx: Use hash-table for api feature check 2020-11-24 15:13:54 +01:00
fpga
fsl networking changes for the 5.10 merge window 2020-10-15 18:42:13 -07:00
gpio gpiolib: acpi: Add ACPI_GPIO_QUIRK_ABSOLUTE_NUMBER quirk 2021-03-17 17:06:17 +01:00
greybus
hsi
i3c
iio iio: ad_sigma_delta: Don't put SPI transfer buffer on the stack 2020-12-30 11:54:19 +01:00
input Input: sparse-keymap: add a description for @sw 2020-10-15 07:57:55 +02:00
irqchip
isdn
lockd
mailbox mailbox: zynqmp-ipi-message: Replace zero-length array with flexible-array member 2020-10-29 17:22:59 -05:00
mdio
mfd regulator: bd718x7, bd71828, Fix dvs voltage levels 2021-03-04 11:38:07 +01:00
mlx4
mlx5 Revert "RDMA/mlx5: Fix devlink deadlock on net namespace deletion" 2021-02-03 23:28:44 +01:00
mmc
mtd treewide: Convert macro and uses of __section(foo) to __section("foo") 2020-10-25 14:51:49 -07:00
mux
net/intel
netfilter netfilter: x_tables: Use correct memory barriers. 2021-03-30 14:32:06 +02:00
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
pcs
perf
phy
pinctrl
platform_data bus: ti-sysc: Implement GPMC debug quirk to drop platform data 2021-03-11 14:17:23 +01:00
power
qed RDMA 5.10 pull request 2020-10-17 11:18:18 -07:00
raid
regulator regulator: pca9450: Clear PRESET_EN bit to fix BUCK1/2/3 voltage setting 2021-03-25 09:04:14 +01:00
remoteproc
reset
rpmsg
rtc
sched include/linux/sched/mm.h: use rcu_dereference in in_vfork() 2021-03-17 17:06:34 +01:00
soc ARM: SoC-related driver updates 2020-10-24 10:39:22 -07:00
soundwire soundwire: export sdw_write/read_no_pm functions 2021-03-04 11:38:14 +01:00
spi spi: Introduce device-managed SPI controller allocation 2020-11-12 15:05:34 +00:00
ssb
sunrpc SUNRPC: Move simple_get_bytes and simple_get_netobj into private header 2021-02-13 13:55:12 +01:00
ulpi
unaligned
usb usb: fix kernel-doc markups 2020-10-28 13:18:56 +01:00
wimax
8250_pci.h
a.out.h
acct.h
acpi.h gpiolib: acpi: Allow to find GpioInt() resource by name and index 2021-03-17 17:06:18 +01:00
acpi_dma.h
acpi_iort.h arm64: mm: Set ZONE_DMA size based on early IORT scan 2021-03-09 11:11:13 +01:00
acpi_pmtmr.h
adb.h
adfs_fs.h
adreno-smmu-priv.h
adxl.h
aer.h
agp_backend.h
agpgart.h
ahci-remap.h
ahci_platform.h
aio.h
alarmtimer.h
alcor_pci.h
altera_jtaguart.h
altera_uart.h
amd-iommu.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 KVM: arm64: ARM_SMCCC_ARCH_WORKAROUND_1 doesn't return SMCCC_RET_NOT_REQUIRED 2020-10-28 11:13:36 +00:00
arm_sdei.h
armada-37xx-rwtm-mailbox.h
ascii85.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-isc-media.h
atmel-mci.h
atmel-ssc.h
atmel_pdc.h
atomic-arch-fallback.h
atomic-fallback.h
atomic.h
attribute_container.h
audit.h
auto_dev-ioctl.h
auto_fs.h
auxvec.h
average.h
backing-dev-defs.h
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
binfmts.h
bio.h
bit_spinlock.h
bitfield.h
bitmap.h
bitops.h bitops: use the same mechanism for get_count_order[_long] 2020-10-16 11:11:20 -07:00
bitrev.h
bits.h
blk-cgroup.h
blk-crypto.h
blk-mq-pci.h
blk-mq-rdma.h
blk-mq-virtio.h
blk-mq.h scsi: block: Remove RQF_PREEMPT and BLK_MQ_REQ_PREEMPT 2021-01-12 20:18:17 +01:00
blk-pm.h
blk_types.h
blkdev.h scsi: block: Do not accept any requests while suspended 2021-01-12 20:18:17 +01:00
blkpg.h
blktrace_api.h
blockgroup_lock.h
bma150.h
bootconfig.h tools/bootconfig: Align the bootconfig applied initrd image size to 4 2020-11-19 08:55:44 -05:00
bottom_half.h
bpf-cgroup.h Merge branch 'work.set_fs' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2020-10-22 09:59:21 -07:00
bpf-netns.h
bpf.h bpf: Don't do bpf_cgroup_storage_set() for kuprobe/tp programs 2021-03-30 14:32:04 +02:00
bpf_lirc.h
bpf_local_storage.h
bpf_lsm.h
bpf_trace.h
bpf_types.h
bpf_verifier.h
bpfilter.h
brcmphy.h net: phy: broadcom: Set proper 1000BaseX/SGMII interface mode for BCM54616S 2021-03-30 14:32:05 +02:00
bsearch.h
bsg-lib.h
bsg.h
btf.h
btf_ids.h
btree-128.h
btree-type.h
btree.h
btrfs.h
buffer_head.h
bug.h
build-salt.h
build_bug.h kbuild: avoid static_assert for genksyms 2020-12-11 14:02:14 -08:00
bvec.h kernel.h: split out min()/max() et al. helpers 2020-10-16 11:11:19 -07:00
c2port.h
cache.h treewide: Convert macro and uses of __section(foo) to __section("foo") 2020-10-25 14:51:49 -07:00
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
clk.h
clkdev.h
clockchips.h
clocksource.h
cm4000_cs.h
cma.h
cmdline-parser.h
cn_proc.h
cnt32_to_63.h
coda.h
compaction.h
compat.h
compiler-clang.h linux/compiler-clang.h: define HAVE_BUILTIN_BSWAP* 2021-03-17 17:06:35 +01:00
compiler-gcc.h compiler.h: Raise minimum version of GCC to 5.1 for arm64 2021-01-19 18:27:21 +01:00
compiler-intel.h
compiler.h compiler.h: fix barrier_data() on clang 2020-11-14 11:26:03 -08:00
compiler_attributes.h treewide: Convert macro and uses of __section(foo) to __section("foo") 2020-10-25 14:51:49 -07:00
compiler_types.h bpf: Don't rely on GCC __attribute__((optimize)) to disable GCSE 2020-10-29 20:01:46 -07:00
completion.h
component.h
configfs.h
connector.h
console.h
console_struct.h
consolemap.h
const.h
container.h
context_tracking.h
context_tracking_state.h
cookie.h
cordic.h
coredump.h binfmt_elf, binfmt_elf_fdpic: use a VMA list snapshot 2020-10-16 11:11:21 -07:00
coresight-pmu.h
coresight-stm.h
coresight.h
count_zeros.h
counter.h
counter_enum.h
cper.h
cpu.h treewide: Convert macro and uses of __section(foo) to __section("foo") 2020-10-25 14:51:49 -07:00
cpu_cooling.h
cpu_pm.h
cpu_rmap.h
cpufeature.h
cpufreq.h cpufreq: Add strict_target to struct cpufreq_policy 2020-11-10 18:31:17 +01:00
cpuhotplug.h powerpc updates for 5.10 2020-10-16 12:21:15 -07:00
cpuidle.h cpuidle: Remove pointless stub 2020-10-16 17:21:51 +02:00
cpuidle_haltpoll.h
cpumask.h
cpuset.h
crash_core.h
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
crc32poly.h
crc64.h
cred.h
crypto.h crypto - shash: reduce minimum alignment of shash_desc structure 2021-03-09 11:11:13 +01:00
cs5535.h
ctype.h
cuda.h
cyclades.h
dasd_mod.h
davinci_emac.h
dax.h fuse update for 5.10 2020-10-19 14:28:30 -07:00
dca.h
dcache.h
dccp.h
dcookies.h
debug_locks.h
debugfs.h debugfs: remove return value of debugfs_create_devm_seqfile() 2020-10-30 08:37:39 +01:00
debugobjects.h
delay.h
delayacct.h
delayed_call.h
dev_printk.h
devcoredump.h
devfreq-event.h
devfreq.h PM / devfreq: remove a duplicated kernel-doc markup 2020-10-16 07:28:20 +02:00
devfreq_cooling.h
device-mapper.h dm table: Fix zoned model check and zone sectors check 2021-03-30 14:32:06 +02:00
device.h driver core: Fix device link device name collision 2021-01-27 11:55:18 +01:00
device_cgroup.h
devpts_fs.h
digsig.h
dim.h
dio.h
dirent.h
dlm.h
dlm_plock.h
dm-bufio.h dm integrity: fix flush with external metadata device 2021-01-19 18:27:22 +01:00
dm-dirty-log.h
dm-io.h
dm-kcopyd.h
dm-region-hash.h
dm9000.h
dma-buf.h
dma-direct.h
dma-direction.h
dma-fence-array.h
dma-fence-chain.h
dma-fence.h
dma-heap.h
dma-iommu.h
dma-map-ops.h dma-mapping: move more functions to dma-map-ops.h 2020-10-20 10:41:07 +02:00
dma-mapping.h dma-mapping: move more functions to dma-map-ops.h 2020-10-20 10:41:07 +02:00
dma-resv.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 treewide: Convert macro and uses of __section(foo) to __section("foo") 2020-10-25 14:51:49 -07:00
dynamic_queue_limits.h
earlycpio.h
ecryptfs.h
edac.h
edd.h
eeprom_93cx6.h
eeprom_93xx46.h misc: eeprom_93xx46: Add quirk to support Microchip 93LC46B eeprom 2021-03-11 14:17:27 +01:00
efi-bgrt.h
efi.h efi: use 32-bit alignment for efi_guid_t literals 2021-03-25 09:04:18 +01:00
efi_embedded_fw.h
efs_vh.h
eisa.h
elevator.h
elf-fdpic.h
elf-randomize.h
elf.h
elfcore-compat.h
elfcore.h elfcore: fix building with clang 2020-12-11 14:02:14 -08:00
elfnote.h
enclosure.h
energy_model.h
entry-common.h x86/entry: Move nmi entry/exit into common code 2021-03-17 17:06:36 +01:00
entry-kvm.h
err.h
errname.h
errno.h
error-injection.h
errqueue.h
errseq.h
etherdevice.h
ethtool.h
ethtool_netlink.h
eventfd.h
eventpoll.h kcmp: Support selection of SYS_kcmp without CHECKPOINT_RESTORE 2021-03-04 11:38:41 +01:00
evm.h
export.h treewide: Convert macro and uses of __section(foo) to __section("foo") 2020-10-25 14:51:49 -07:00
exportfs.h
ext2_fs.h
extable.h
extcon-provider.h
extcon.h
f2fs_fs.h
f75375s.h
falloc.h
fanotify.h
fault-inject-usercopy.h lib, include/linux: add usercopy failure capability 2020-10-16 11:11:22 -07:00
fault-inject.h
fb.h
fbcon.h
fcdevice.h
fcntl.h
fd.h
fddidevice.h
fdtable.h
fec.h
fiemap.h
file.h
filter.h bpf: Avoid warning when re-casting __bpf_call_base into __bpf_call_base_args 2021-03-04 11:37:22 +01:00
fips.h
firewire.h
firmware-map.h
firmware.h treewide: Convert macro and uses of __section(foo) to __section("foo") 2020-10-25 14:51:49 -07:00
fixp-arith.h
flat.h
flex_proportions.h
font.h drm next for 5.10-rc1 2020-10-15 10:46:16 -07:00
freezer.h
frontswap.h
fs.h fs: Handle I_DONTCACHE in iput_final() instead of generic_drop_inode() 2020-12-30 11:53:49 +01:00
fs_context.h
fs_enet_pd.h
fs_parser.h
fs_pin.h
fs_stack.h
fs_struct.h
fs_types.h
fs_uart_pd.h
fscache-cache.h
fscache.h
fscrypt.h fscrypt: add fscrypt_is_nokey_name() 2020-12-26 16:02:43 +01:00
fsi-occ.h
fsi-sbefifo.h
fsi.h
fsl-diu-fb.h
fsl_devices.h
fsl_hypervisor.h
fsl_ifc.h
fsldma.h
fsnotify.h
fsnotify_backend.h fsnotify: fix events reported to watching parent and child 2020-12-30 11:54:18 +01:00
fsverity.h
ftrace.h
ftrace_irq.h
futex.h
fwnode.h
gameport.h
gcd.h
genalloc.h
generic-radix-tree.h
genetlink.h
genhd.h block: add a return value to set_capacity_revalidate_and_notify 2020-11-12 13:59:04 -07:00
genl_magic_func.h
genl_magic_struct.h
getcpu.h
gfp.h dma-mapping updates for 5.10 2020-10-15 14:43:29 -07:00
glob.h
gnss.h
goldfish.h
gpio-pxa.h
gpio.h
gpio_keys.h
greybus.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
hidden.h
hiddev.h
hidraw.h
highmem.h
highuid.h
hil.h
hil_mlc.h hil/parisc: Disable HIL driver when it gets stuck 2020-10-22 22:44:35 +02:00
hippidevice.h
hmm.h
host1x.h
hp_sdc.h
hpet.h
hrtimer.h
hrtimer_defs.h
htcpld.h
huge_mm.h
hugetlb.h mm: hugetlbfs: fix cannot migrate the fallocated HugeTLB page 2021-02-10 09:29:20 +01:00
hugetlb_cgroup.h hugetlb_cgroup: fix imbalanced css_get and css_put pair for shared mappings 2021-03-30 14:31:54 +02:00
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-mux.h
i2c-smbus.h
i2c.h
i8042.h
i8253.h
icmp.h
icmpv6.h net: icmp: pass zeroed opts from icmp{,v6}_ndo_send before sending 2021-03-04 11:38:46 +01:00
ide.h
idle_inject.h
idr.h lib/idr.c: document that ida_simple_{get,remove}() are deprecated 2020-10-16 11:11:20 -07: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 macvlan: macvlan_count_rx() needs to be aware of preemption 2021-03-30 14:31:57 +02:00
if_phonet.h
if_pppol2tp.h
if_pppox.h
if_rmnet.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
indirect_call_wrapper.h
inet.h
inet_diag.h
inetdevice.h
init.h treewide: Convert macro and uses of __section(foo) to __section("foo") 2020-10-25 14:51:49 -07:00
init_ohci1394_dma.h
init_syscalls.h
init_task.h treewide: Convert macro and uses of __section(foo) to __section("foo") 2020-10-25 14:51:49 -07:00
initrd.h
inotify.h
input-polldev.h
input.h
instrumentation.h
instrumented.h
integrity.h
intel-iommu.h iommu/vt-d: Move intel_iommu info from struct intel_svm to struct intel_svm_dev 2021-01-12 20:18:24 +01:00
intel-ish-client-if.h
intel-pti.h
intel-svm.h
intel_rapl.h powercap/intel_rapl: enumerate Psys RAPL domain together with package RAPL domain 2020-10-16 17:35:36 +02:00
intel_th.h
interconnect-provider.h
interconnect.h
interrupt.h treewide: Convert macro and uses of __section(foo) to __section("foo") 2020-10-25 14:51:49 -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-pgtable.h
io.h
io_uring.h io_uring: properly handle SQPOLL request cancelations 2020-11-04 10:22:56 -07:00
ioasid.h
iocontext.h block: remove unused members for io_context 2020-10-20 07:10:14 -06:00
iomap.h iomap: support partial page discard on writeback block mapping failure 2020-11-04 08:52:46 -08:00
iommu-helper.h
iommu.h iommu: Switch gather->end to the inclusive end 2021-03-04 11:38:01 +01:00
iopoll.h
ioport.h kernel/resource: make iomem_resource implicit in release_mem_region_adjustable() 2020-10-16 11:11:18 -07:00
ioprio.h
iova.h
ip.h
ipack.h
ipc.h
ipc_namespace.h
ipmi.h
ipmi_smi.h
ipv6.h net: icmp: pass zeroed opts from icmp{,v6}_ndo_send before sending 2021-03-04 11:38:46 +01:00
ipv6_route.h
irq.h genirq: Prevent [devm_]irq_alloc_desc from returning irq 0 2021-02-10 09:29:17 +01:00
irq_cpustat.h
irq_poll.h
irq_sim.h
irq_work.h
irqbypass.h
irqchip.h
irqdesc.h
irqdomain.h genirq/irqdomain: Add an irq_create_mapping_affinity() function 2020-11-30 12:21:31 +01:00
irqflags.h
irqhandler.h
irqnr.h
irqreturn.h
isa.h
isapnp.h
iscsi_boot_sysfs.h
iscsi_ibft.h
isicom.h
iversion.h
jbd2.h jbd2: fix kernel-doc markups 2020-11-19 22:38:29 -05:00
jhash.h include: jhash/signal: Fix fall-through warnings for Clang 2020-10-29 13:17:58 -05:00
jiffies.h kernel.h: split out min()/max() et al. helpers 2020-10-16 11:11:19 -07:00
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
kcsan-checks.h
kcsan.h
kd.h
kdb.h
kdebug.h
kdev_t.h kdev_t: always inline major/minor helper functions 2021-01-09 13:46:23 +01:00
kern_levels.h
kernel-page-flags.h
kernel.h treewide: Convert macro and uses of __section(foo) to __section("foo") 2020-10-25 14:51:49 -07:00
kernel_read_file.h
kernel_stat.h
kernelcapi.h
kernfs.h
kexec.h ima: Free IMA measurement buffer after kexec syscall 2021-03-04 11:37:50 +01:00
key-type.h
key.h certs: Fix blacklist flag type confusion 2021-03-04 11:37:59 +01:00
keyboard.h
keyctl.h
keyslot-manager.h
kfifo.h
kgdb.h kgdb: fix to kill breakpoints on initmem after boot 2021-03-04 11:38:46 +01:00
khugepaged.h mm,thp,shmem: make khugepaged obey tmpfs mount flags 2021-03-04 11:38:20 +01:00
klist.h
kmemleak.h
kmod.h
kmsg_dump.h
kobj_map.h
kobject.h
kobject_ns.h
kprobes.h tracing/kprobe: Fix to support kretprobe events on unloaded modules 2021-02-10 09:29:16 +01:00
kref.h
ks0108.h
ks8842.h
ks8851_mll.h
ksm.h
kthread.h kthread: Extract KTHREAD_IS_PER_CPU 2021-02-07 15:37:17 +01:00
ktime.h
kvm_host.h kvm: x86/mmu: Support dirty logging for the TDP MMU 2020-10-23 03:42:13 -04:00
kvm_irqfd.h
kvm_para.h
kvm_types.h
l2tp.h
lantiq.h
lapb.h
latencytop.h
lcd.h
lcm.h
led-class-flash.h
led-class-multicolor.h
led-lm3530.h
leds-bd2802.h
leds-lp3944.h
leds-lp3952.h
leds-pca9532.h
leds-regulator.h
leds-ti-lmu-common.h
leds.h
libata.h
libfdt.h
libfdt_env.h
libgcc.h
libnvdimm.h
libps2.h
license.h
lightnvm.h
limits.h
linear_range.h
linkage.h x86/entry: Emit a symbol for register restoring thunk 2021-02-03 23:28:40 +01:00
linkmode.h
linux_logo.h
lis3lv02d.h
list.h include/linux/list.h: add a macro to test if entry is pointing to the head 2020-10-16 11:11:20 -07:00
list_bl.h
list_lru.h
list_nulls.h
list_sort.h
livepatch.h
llc.h
llist.h
local_lock.h
local_lock_internal.h
lockdep.h
lockdep_types.h
lockref.h
log2.h
logic_pio.h
lp.h
lru_cache.h
lsm_audit.h
lsm_hook_defs.h
lsm_hooks.h treewide: Convert macro and uses of __section(foo) to __section("foo") 2020-10-25 14:51:49 -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-gpio.h
mdio-mux.h
mdio.h
mei_cl_bus.h
mem_encrypt.h
memblock.h
memcontrol.h mm/memcg: rename mem_cgroup_split_huge_fixup to split_page_memcg and add nr_pages argument 2021-03-30 14:31:47 +02:00
memfd.h
memory.h drivers/base/memory: don't store phys_device in memory blocks 2021-03-17 17:06:25 +01:00
memory_hotplug.h mm: fix phys_to_target_node() and memory_add_physaddr_to_nid() exports 2020-11-22 10:48:22 -08:00
mempolicy.h
mempool.h
memregion.h
memremap.h mm: fix memory_failure() handling of dax-namespace metadata 2021-03-04 11:38:21 +01:00
memstick.h
mhi.h
micrel_phy.h
microchipphy.h
migrate.h
migrate_mode.h
mii.h
mii_timestamper.h
min_heap.h
minmax.h kernel.h: split out min()/max() et al. helpers 2020-10-16 11:11:19 -07:00
miscdevice.h
mISDNdsp.h
mISDNhw.h
mISDNif.h
mm-arch-hooks.h
mm.h kasan: fix per-page tags for non-page_alloc pages 2021-03-30 14:31:54 +02:00
mm_inline.h
mm_types.h mm/fork: clear PASID for new mm 2021-03-30 14:31:52 +02:00
mm_types_task.h
mman.h
mmap_lock.h
mmdebug.h
mmiotrace.h
mmu_context.h
mmu_notifier.h mm/mmu_notifiers: ensure range_end() is paired with range_start() 2021-03-30 14:32:06 +02:00
mmzone.h mm: Remove examples from enum zone_type comment 2021-03-09 11:11:14 +01:00
mnt_namespace.h
mod_devicetable.h
module.h module: use hidden visibility for weak symbol references 2020-10-28 14:08:54 +00:00
module_signature.h
moduleloader.h
moduleparam.h treewide: Convert macro and uses of __section(foo) to __section("foo") 2020-10-25 14:51:49 -07:00
most.h
mount.h
moxtet.h
mpage.h
mpi.h
mpls.h
mpls_iptunnel.h
mroute.h
mroute6.h
mroute_base.h
msdos_fs.h
msdos_partition.h
msg.h
msi.h genirq/msi: Activate Multi-MSI early when MSI_FLAG_ACTIVATE_EARLY is set 2021-02-10 09:29:17 +01:00
mtio.h
mutex.h
mv643xx.h
mv643xx_eth.h
mv643xx_i2c.h
mvebu-pmsu.h
mxm-wmi.h
n_r3964.h
namei.h
nd.h
ndctl.h
net.h
netdev_features.h
netdevice.h net: fix dev_ifsioc_locked() race condition 2021-03-07 12:34:07 +01:00
netfilter.h
netfilter_bridge.h
netfilter_defs.h
netfilter_ingress.h
netfilter_ipv4.h netfilter: use actual socket sk rather than skb sk when routing harder 2020-10-30 12:57:39 +01:00
netfilter_ipv6.h netfilter: use actual socket sk rather than skb sk when routing harder 2020-10-30 12:57:39 +01:00
netlink.h rtnetlink: fix data overflow in rtnl_calcit() 2020-10-21 18:24:08 -07:00
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 pNFS/flexfiles: Fix array overflow when flexfiles mirroring is enabled 2020-11-30 10:52:22 -05:00
nfs_ssc.h NFSv4.2: Fix NFS4ERR_STALE error when doing inter server copy 2020-10-21 10:31:20 -04:00
nfs_xdr.h
nfsacl.h
nitro_enclaves.h
nl802154.h
nls.h
nmi.h
node.h mm: don't panic when links can't be created in sysfs 2020-10-16 11:11:18 -07:00
nodemask.h kernel.h: split out min()/max() et al. helpers 2020-10-16 11:11:19 -07:00
nospec.h
notifier.h
ns_common.h
nsc_gpio.h
nsproxy.h
ntb.h
ntb_transport.h
nubus.h
numa.h mm: fix phys_to_target_node() and memory_add_physaddr_to_nid() exports 2020-11-22 10:48:22 -08:00
nvme-fc-driver.h
nvme-fc.h
nvme-rdma.h
nvme-tcp.h
nvme.h nvme-pci: allow use of cmb on v1.4 controllers 2021-02-07 15:37:16 +01:00
nvmem-consumer.h
nvmem-provider.h
nvram.h
objagg.h
objtool.h treewide: Convert macro and uses of __section(foo) to __section("foo") 2020-10-25 14:51:49 -07:00
of.h of/address: Introduce of_dma_get_max_cpu_address() 2021-03-09 11:11:13 +01:00
of_address.h
of_clk.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-gpmc.h
omap-iommu.h
omap-mailbox.h
omapfb.h
once.h
oom.h
openvswitch.h
oprofile.h
osq_lock.h
overflow.h RDMA 5.10 pull request 2020-10-17 11:18:18 -07:00
packing.h
padata.h
page-flags-layout.h
page-flags.h mm,hwpoison: rework soft offline for in-use pages 2020-10-16 11:11:16 -07:00
page-isolation.h
page_counter.h
page_ext.h
page_idle.h
page_owner.h mm/page_owner: change split_page_owner to take a count 2020-10-16 11:11:15 -07:00
page_ref.h
page_reporting.h
pageblock-flags.h
pagemap.h mm: fix readahead_page_batch for retry entries 2020-11-22 10:48:22 -08:00
pagevec.h
pagewalk.h
parman.h
parport.h
parport_pc.h
parser.h
part_stat.h
pata_arasan_cf_data.h
patchkey.h
path.h
pch_dma.h
pci-acpi.h
pci-ats.h
pci-dma-compat.h
pci-ecam.h
pci-ep-cfs.h
pci-epc.h
pci-epf.h
pci-p2pdma.h
pci.h VFIO updates for v5.10-rc1 2020-10-22 13:00:44 -07:00
pci_hotplug.h
pci_ids.h
pcs-lynx.h
pda_power.h
pe.h
percpu-defs.h treewide: Convert macro and uses of __section(foo) to __section("foo") 2020-10-25 14:51:49 -07:00
percpu-refcount.h
percpu-rwsem.h
percpu.h
percpu_counter.h
perf_event.h perf/core: Flush PMU internal buffers for per-CPU events 2021-03-17 17:06:34 +01:00
perf_regs.h perf/arch: Remove perf_sample_data::regs_user_copy 2020-11-09 18:12:34 +01:00
personality.h
pfn.h
pfn_t.h
pgtable.h arm64: mte: Map hotplugged memory as Normal Tagged 2021-03-17 17:06:28 +01:00
phonet.h
phy.h net: phy: introduce phydev->port 2021-03-30 14:32:05 +02:00
phy_fixed.h
phy_led_triggers.h
phylink.h
pid.h pid: move pidfd_get_pid() to pid.c 2020-10-18 09:27:10 -07:00
pid_namespace.h
pim.h
pipe_fs_i.h
pkeys.h
pktcdvd.h
pl320-ipc.h
pl353-smc.h
platform_device.h
pldmfw.h
plist.h
pm-trace.h
pm.h
pm2301_charger.h
pm_clock.h
pm_domain.h PM: domains: enable domain idle state accounting 2020-10-16 17:53:22 +02:00
pm_opp.h
pm_qos.h
pm_runtime.h PM: runtime: Add pm_runtime_resume_and_get to deal with usage counter 2020-11-16 09:37:01 -08: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
prandom.h random32: add noise from network and scheduling activity 2020-10-24 20:21:57 +02:00
preempt.h
prefetch.h
prime_numbers.h
printk.h treewide: Convert macro and uses of __section(foo) to __section("foo") 2020-10-25 14:51:49 -07:00
proc_fs.h proc: fix lookup in /proc/net subdirectories after setns(2) 2020-12-30 11:53:56 +01:00
proc_ns.h
processor.h
profile.h
projid.h
property.h
pruss_driver.h
psci.h
pseudo_fs.h
psi.h
psi_types.h
psp-sev.h
psp-tee.h
pstore.h
pstore_blk.h
pstore_ram.h
pstore_zone.h
ptdump.h
pti.h
ptp_classify.h
ptp_clock_kernel.h
ptr_ring.h
ptrace.h
purgatory.h
pvclock_gtod.h
pwm.h
pwm_backlight.h
pxa2xx_ssp.h
pxa168_eth.h
qcom-geni-se.h ARM: SoC-related driver updates 2020-10-24 10:39:22 -07:00
qcom_scm.h
qnx6_fs.h
quota.h
quotaops.h
radix-tree.h
raid_class.h
ramfs.h
random.h
range.h
ras.h
ratelimit.h
ratelimit_types.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 rcu/nocb: Perform deferred wake up before last idle's need_resched() check 2021-03-04 11:38:35 +01:00
rcupdate_trace.h
rcupdate_wait.h
rcutiny.h
rcutree.h
rcuwait.h
reboot-mode.h
reboot.h
reciprocal_div.h
refcount.h locking/refcount: move kernel-doc markups to the proper place 2020-10-28 11:41:15 -06:00
regmap.h
regset.h
relay.h
remoteproc.h
resctrl.h
reset-controller.h
reset.h
resource.h
resource_ext.h
restart_block.h
rfkill.h
rhashtable-types.h
rhashtable.h
ring_buffer.h
rio.h
rio_drv.h
rio_ids.h
rio_regs.h
rmap.h mm/rmap: fix potential pte_unmap on an not mapped pte 2021-03-04 11:38:21 +01:00
rmi.h
rndis.h
rodata_test.h
root_dev.h
rpmsg.h
rslib.h
rtc.h
rtmutex.h
rtnetlink.h
rtsx_common.h
rtsx_pci.h
rtsx_usb.h
rwlock.h
rwlock_api_smp.h
rwlock_types.h
rwsem.h rwsem: Implement down_read_interruptible 2021-01-09 13:46:24 +01:00
s3c_adc_battery.h
sbitmap.h
scatterlist.h
scc.h
sched.h A couple of scheduler fixes: 2020-11-22 13:26:07 -08:00
sched_clock.h
scmi_protocol.h
scpi_protocol.h
screen_info.h
scs.h
sctp.h
scx200.h
scx200_gpio.h
sdb.h
sdla.h
seccomp.h
securebits.h
security.h Fix namespaced fscaps when !CONFIG_SECURITY from Serge Hallyn. 2020-12-10 16:01:47 -08:00
sed-opal.h
seg6.h
seg6_genl.h
seg6_hmac.h
seg6_iptunnel.h
seg6_local.h
selection.h
sem.h
semaphore.h
seq_buf.h seq_buf: Avoid type mismatch for seq_buf_init 2020-12-30 11:53:42 +01:00
seq_file.h seq_file: add seq_read_iter 2020-11-06 10:05:18 -08:00
seq_file_net.h
seqlock.h seqlock,lockdep: Fix seqcount_latch_init() 2021-03-17 17:06:34 +01:00
seqno-fence.h
serdev.h
serial.h
serial_8250.h
serial_bcm63xx.h
serial_core.h treewide: Convert macro and uses of __section(foo) to __section("foo") 2020-10-25 14:51:49 -07: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
shrinker.h
signal.h include: jhash/signal: Fix fall-through warnings for Clang 2020-10-29 13:17:58 -05:00
signal_types.h
signalfd.h
siox.h
siphash.h
sirfsoc_dma.h
sizes.h
skb_array.h
skbuff.h networking changes for the 5.10 merge window 2020-10-15 18:42:13 -07:00
skmsg.h
slab.h mm: remove kzfree() compatibility definition 2020-10-25 11:39:02 -07:00
slab_def.h
slimbus.h
slub_def.h
sm501-regs.h
sm501.h
smc91x.h
smc911x.h
smp.h
smp_types.h
smpboot.h
smsc911x.h
smscphy.h
sock_diag.h
socket.h
sockptr.h
sonet.h
sony-laptop.h
sonypi.h
sort.h
sound.h
soundcard.h
spinlock.h treewide: Convert macro and uses of __section(foo) to __section("foo") 2020-10-25 14:51:49 -07:00
spinlock_api_smp.h
spinlock_api_up.h
spinlock_types.h
spinlock_types_up.h
spinlock_up.h
splice.h splice: change exported internal do_splice() helper to take kernel offset 2020-10-22 14:15:51 -06:00
spmi.h
sram.h
srcu.h
srcutiny.h
srcutree.h
ssbi.h
stackdepot.h
stackleak.h
stackprotector.h
stacktrace.h
start_kernel.h
stat.h
statfs.h
static_call.h static_call: Allow module use without exposing static_call_key 2021-03-30 14:31:53 +02:00
static_call_types.h static_call: Allow module use without exposing static_call_key 2021-03-30 14:31:53 +02:00
static_key.h
stddef.h
stm.h
stmmac.h net: stmmac: overwrite the dma_cap.addr64 according to HW design 2020-12-08 14:52:29 -08:00
stmp3xxx_rtc_wdt.h
stmp_device.h
stop_machine.h stop_machine: mark helpers __always_inline 2021-03-17 17:06:34 +01:00
string.h
string_helpers.h
stringhash.h
stringify.h
sungem_phy.h
sunserialcore.h
sunxi-rsb.h
superhyway.h
suspend.h
svga.h
sw842.h
swab.h
swait.h
swap.h swap: fix swapfile read/write offset 2021-03-07 12:34:15 +01:00
swap_cgroup.h
swap_slots.h
swapfile.h
swapops.h
swiotlb.h vhost,vdpa: fixes 2020-11-16 14:58:23 -08:00
switchtec.h
sxgbe_platform.h
sync_core.h
sync_file.h
synclink.h
sys.h
sys_soc.h
syscalls.h fanotify: Fix sys_fanotify_mark() on native x86-32 2021-01-17 14:16:59 +01:00
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 task_work: cleanup notification modes 2020-10-17 15:05:30 -06:00
taskstats_kern.h
tboot.h
tc.h
tca6416_keypad.h
tcp.h
tee_drv.h
textsearch.h
textsearch_fsm.h
tfrc.h
thermal.h
thread_info.h kernel, fs: Introduce and use set_restart_fn() and arch_set_restart_data() 2021-03-25 09:04:16 +01:00
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 time: Prevent undefined behaviour in timespec64_to_ns() 2020-10-26 11:48:11 +01:00
time_namespace.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 KEYS: trusted: Reserve TPM for seal and unseal operations 2021-03-04 11:38:29 +01:00
tpm_command.h
tpm_eventlog.h
trace.h
trace_clock.h
trace_events.h treewide: Convert macro and uses of __section(foo) to __section("foo") 2020-10-25 14:51:49 -07:00
trace_seq.h seq_buf: Avoid type mismatch for seq_buf_init 2020-12-30 11:53:42 +01:00
tracefs.h
tracehook.h tracehook: clear TIF_NOTIFY_RESUME in tracehook_notify_resume() 2020-10-17 15:04:36 -06:00
tracepoint-defs.h Updates for tracing and bootconfig: 2020-10-15 15:51:28 -07:00
tracepoint.h tracepoint: Fix race between tracing and removing tracepoint 2021-02-10 09:29:16 +01:00
transport_class.h
ts-nbus.h
tsacct_kern.h
tty.h Commit 9bb48c82ac ("tty: implement write_iter") converted the tty layer to use write_iter. Fix the redirected_tty_write declaration also in n_tty and change the comparisons to use write_iter instead of write. also in n_tty and change the comparisons to use write_iter instead of write. 2021-01-27 11:55:30 +01:00
tty_driver.h
tty_flip.h
tty_ldisc.h tty: convert tty_ldisc_ops 'read()' function to take a kernel pointer 2021-03-04 11:37:36 +01:00
typecheck.h
types.h
u64_stats_sync.h u64_stats,lockdep: Fix u64_stats_init() vs lockdep 2021-03-30 14:31:51 +02:00
uacce.h
uaccess.h RISC-V Patches for the 5.10 Merge Window, Part 2 2020-10-24 10:57:57 -07:00
ucb1400.h
ucs2_string.h
udp.h
uidgid.h
uio.h udp: fix skb_copy_and_csum_datagram with odd segment sizes 2021-02-17 11:02:28 +01:00
uio_driver.h
umh.h
unicode.h
units.h
uprobes.h
usb.h drm: Use USB controller's DMA mask when importing dmabufs 2021-03-17 17:06:19 +01:00
usb_usual.h usb-storage: Add quirk to defeat Kindle's automatic unload 2021-03-25 09:04:14 +01:00
usbdevice_fs.h
user-return-notifier.h
user.h
user_namespace.h
userfaultfd_k.h
usermode_driver.h bpf: Fix umd memory leak in copy_process() 2021-03-30 14:32:03 +02:00
util_macros.h
uts.h
utsname.h
uuid.h
vbox_utils.h
vdpa.h vdpa: introduce config op to get valid iova range 2020-10-23 11:55:27 -04:00
verification.h
vermagic.h
vexpress.h
vfio.h
vfs.h
vga_switcheroo.h
vgaarb.h
vhost_iotlb.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 vhost,vdpa,virtio: cleanups, fixes 2020-10-23 11:00:57 -07:00
virtio_console.h
virtio_dma_buf.h
virtio_net.h net: check if protocol extracted by virtio_net_hdr_set_proto is correct 2021-03-17 17:06:11 +01:00
virtio_ring.h
virtio_vsock.h
visorbus.h
vlynq.h
vm_event_item.h
vmacache.h
vmalloc.h mm/vmalloc: separate put pages and flush VM flags 2021-02-10 09:29:21 +01:00
vme.h
vmpressure.h
vmstat.h mm: use self-explanatory macros rather than "2" 2020-10-16 11:11:19 -07: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
watch_queue.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
xarray.h XArray updates for 5.9 2020-10-20 14:39:37 -07:00
xattr.h
xxhash.h
xz.h
yam.h
z2_battery.h
zbud.h
zconf.h
zlib.h
zorro.h
zpool.h
zsmalloc.h zsmalloc: account the number of compacted pages correctly 2021-03-07 12:34:15 +01:00
zstd.h
zutil.h