linux-stable/include/linux
Kees Cook 30f20ceb87 overflow: Implement size_t saturating arithmetic helpers
[ Upstream commit e1be43d9b5 ]

In order to perform more open-coded replacements of common allocation
size arithmetic, the kernel needs saturating (SIZE_MAX) helpers for
multiplication, addition, and subtraction. For example, it is common in
allocators, especially on realloc, to add to an existing size:

    p = krealloc(map->patch,
                 sizeof(struct reg_sequence) * (map->patch_regs + num_regs),
                 GFP_KERNEL);

There is no existing saturating replacement for this calculation, and
just leaving the addition open coded inside array_size() could
potentially overflow as well. For example, an overflow in an expression
for a size_t argument might wrap to zero:

    array_size(anything, something_at_size_max + 1) == 0

Introduce size_mul(), size_add(), and size_sub() helpers that
implicitly promote arguments to size_t and saturated calculations for
use in allocations. With these helpers it is also possible to redefine
array_size(), array3_size(), flex_array_size(), and struct_size() in
terms of the new helpers.

As with the check_*_overflow() helpers, the new helpers use __must_check,
though what is really desired is a way to make sure that assignment is
only to a size_t lvalue. Without this, it's still possible to introduce
overflow/underflow via type conversion (i.e. from size_t to int).
Enforcing this will currently need to be left to static analysis or
future use of -Wconversion.

Additionally update the overflow unit tests to force runtime evaluation
for the pathological cases.

Cc: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Cc: Gustavo A. R. Silva <gustavoars@kernel.org>
Cc: Nathan Chancellor <nathan@kernel.org>
Cc: Jason Gunthorpe <jgg@ziepe.ca>
Cc: Nick Desaulniers <ndesaulniers@google.com>
Cc: Leon Romanovsky <leon@kernel.org>
Cc: Keith Busch <kbusch@kernel.org>
Cc: Len Baker <len.baker@gmx.com>
Signed-off-by: Kees Cook <keescook@chromium.org>
Stable-dep-of: e001e60869 ("fs/ntfs3: Harden against integer overflows")
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-12-31 13:14:33 +01:00
..
amba
atomic atomics: Fix atomic64_{read_acquire,set_release} fallbacks 2022-04-08 14:23:57 +02:00
avf
bcma
byteorder
can can: sja1000: fix size of OCR_MODE_MASK define 2022-12-19 12:36:42 +01:00
ceph libceph: fix potential use-after-free on linger ping and resends 2022-05-25 09:57:28 +02:00
clk
crush
decompress
device
dma
dsa
extcon
firmware
fpga
fsl
gpio gpiolib: make struct comments into real kernel docs 2022-12-31 13:14:30 +01:00
greybus
hsi
i3c
iio iio: adis: add '__adis_enable_irq()' implementation 2022-12-31 13:14:29 +01:00
input
irqchip
isdn
lockd lockd: detect and reject lock arguments that overflow 2022-08-17 14:22:47 +02:00
mailbox
mdio
mfd mfd: t7l66xb: Drop platform disable callback 2022-08-17 14:24:09 +02:00
mlx4
mlx5 net/mlx5: Fix possible use-after-free in async command interface 2022-11-03 23:59:19 +09:00
mmc mmc: core: Fix ambiguous TRIM and DISCARD arg 2022-12-08 11:28:42 +01:00
mtd mtd: cfi_cmdset_0002: Use chip_ready() for write on S29GL064N 2022-06-09 10:23:25 +02:00
mux
net/intel
netfilter netfilter: conntrack: avoid useless indirection during conntrack destruction 2022-04-27 14:39:01 +02:00
netfilter_arp
netfilter_bridge netfilter: ebtables: reject blobs that don't provide all entry points 2022-08-31 17:16:40 +02:00
netfilter_ipv4
netfilter_ipv6
pcs
perf
phy
pinctrl
platform_data mtd: spi-nor: intel-spi: Disable write protection only if asked 2022-11-26 09:24:32 +01:00
power
qed qed: Improve the stack space of filter_config() 2022-07-12 16:34:53 +02:00
raid
regulator
remoteproc
reset
rpmsg
rtc
sched task_stack, x86/cea: Force-inline stack helpers 2022-09-20 12:39:43 +02:00
soc soc: qcom: apr: make code more reuseable 2022-12-31 13:13:57 +01:00
soundwire soundwire: revisit driver bind/unbind and callbacks 2022-08-17 14:23:48 +02:00
spi
ssb
sunrpc SUNRPC: Fix svcxdr_init_encode's buflen calculation 2022-10-26 12:34:38 +02:00
surface_aggregator
ulpi
unaligned
usb usb: typec: Factor out non-PD fwnode properties 2022-12-31 13:14:28 +01:00
8250_pci.h
a.out.h
acct.h
acpi.h
acpi_dma.h
acpi_iort.h
acpi_mdio.h
acpi_pmtmr.h
acpi_viot.h ACPI: VIOT: Fix ACS setup 2022-08-17 14:23:11 +02:00
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
align.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 arm64: entry: Add vectors that have the bhb mitigation sequences 2022-03-11 12:22:34 +01:00
arm_ffa.h
arm_sdei.h ACPI: APEI: explicit init of HEST and GHES in apci_init() 2022-08-17 14:23:11 +02:00
armada-37xx-rwtm-mailbox.h
ascii85.h
asn1.h
asn1_ber_bytecode.h
asn1_decoder.h
asn1_encoder.h
assoc_array.h
assoc_array_priv.h
async.h
async_tx.h
ata.h ata: fix ata_id_has_dipm() 2022-10-26 12:35:12 +02:00
ata_platform.h
atalk.h
ath9k_platform.h
atm.h
atm_tcp.h
atmdev.h
atmel-isc-media.h
atmel-mci.h
atmel-ssc.h
atmel_pdc.h
atomic.h
attribute_container.h
audit.h
auto_dev-ioctl.h
auto_fs.h
auxiliary_bus.h
auxvec.h
average.h
backing-dev-defs.h
backing-dev.h init: Initialize noop_backing_dev_info early 2022-06-22 14:22:02 +02: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
binfmts.h coredump: Snapshot the vmas in do_coredump 2022-04-08 14:24:17 +02:00
bio.h
bit_spinlock.h
bitfield.h bitfield.h: Fix "type of reg too small for mask" test 2022-07-29 17:25:25 +02:00
bitmap.h
bitops.h
bitrev.h
bits.h
blk-cgroup.h block: don't merge across cgroup boundaries if blkcg is enabled 2022-04-08 14:22:59 +02:00
blk-crypto.h
blk-mq-pci.h
blk-mq-rdma.h
blk-mq-virtio.h
blk-mq.h
blk-pm.h
blk_types.h block: fix rq-qos breakage from skipping rq_qos_done_bio() 2022-07-12 16:34:57 +02:00
blkdev.h block: add bdev_max_segments() helper 2022-08-31 17:16:34 +02:00
blkpg.h
blktrace_api.h
blockgroup_lock.h
bma150.h
bootconfig.h
bootmem_info.h
bottom_half.h
bpf-cgroup.h
bpf-netns.h
bpf.h bpf, sockmap: Fix sk->sk_forward_alloc warn_on in sk_stream_kill_queues 2022-11-16 09:58:15 +01:00
bpf_lirc.h
bpf_local_storage.h
bpf_lsm.h
bpf_trace.h
bpf_types.h
bpf_verifier.h bpf: Add helper macro bpf_for_each_reg_in_vstate 2022-11-16 09:58:15 +01:00
bpfilter.h
bpfptr.h BPF: Fix potential bad pointer dereference in bpf_sys_bpf() 2022-08-25 11:40:02 +02:00
brcmphy.h
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 fs: only do a memory barrier for the first set_buffer_uptodate() 2022-09-15 11:30:00 +02:00
bug.h
build-salt.h
build_bug.h
buildid.h
bvec.h
c2port.h
cache.h
cacheinfo.h
capability.h
cb710.h
cc_platform.h
cciss_ioctl.h
ccp.h
cdev.h
cdrom.h
cfag12864b.h
cfi.h
cgroup-defs.h cgroup: Use separate src/dst nodes when preloading css_sets for migration 2022-07-21 21:24:13 +02:00
cgroup.h memcg: fix possible use-after-free in memcg_write_event_control() 2022-12-14 11:37:19 +01:00
cgroup_rdma.h
cgroup_subsys.h
circ_buf.h
cleancache.h
clk-provider.h
clk.h clk: Provide new devm_clk helpers for prepared and enabled clocks 2022-12-14 11:37:14 +01:00
clkdev.h
clockchips.h
clocksource.h
clocksource_ids.h
cm4000_cs.h
cma.h
cn_proc.h
cnt32_to_63.h
coda.h
compaction.h
compat.h signal: Deliver SIGTRAP on perf event asynchronously if blocked 2022-06-09 10:22:48 +02:00
compiler-clang.h
compiler-gcc.h Compiler Attributes: add __alloc_size() for better bounds checking 2022-07-12 16:35:01 +02:00
compiler-intel.h
compiler-version.h
compiler.h x86/bug: Merge annotate_reachable() into _BUG_FLAGS() asm 2022-02-23 12:03:17 +01:00
compiler_attributes.h Compiler Attributes: add __alloc_size() for better bounds checking 2022-07-12 16:35:01 +02:00
compiler_types.h Compiler Attributes: add __alloc_size() for better bounds checking 2022-07-12 16:35:01 +02: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 coredump: Use the vma snapshot in fill_files_note 2022-04-08 14:24:18 +02:00
coresight-pmu.h
coresight-stm.h
coresight.h
count_zeros.h
counter.h
counter_enum.h
cper.h
cpu.h x86/bugs: Report AMD retbleed vulnerability 2022-07-23 12:54:02 +02:00
cpu_cooling.h
cpu_pm.h
cpu_rmap.h
cpufeature.h
cpufreq.h
cpuhotplug.h random: clear fast pool, crng, and batches in cpuhp bring up 2022-05-30 09:29:09 +02:00
cpuidle.h
cpuidle_haltpoll.h
cpumask.h drivers/base: Fix unsigned comparison to -1 in CPUMAP_FILE_MAX_BYTES 2022-09-28 11:11:40 +02:00
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
cs5535.h
ctype.h
cuda.h
damon.h
dasd_mod.h
davinci_emac.h
dax.h
dca.h
dcache.h
dccp.h
debug_locks.h
debugfs.h debugfs: fix error when writing negative value to atomic_t debugfs file 2022-12-31 13:14:03 +01:00
debugobjects.h
delay.h
delayacct.h
delayed_call.h
dev_printk.h
devcoredump.h
devfreq-event.h
devfreq.h
devfreq_cooling.h
device-mapper.h
device.h
device_cgroup.h
devm-helpers.h
devpts_fs.h
dfl.h
digsig.h
dim.h linux/dim: Fix divide by 0 in RDMA DIM 2022-07-07 17:53:26 +02:00
dio.h
dirent.h
dlm.h
dlm_plock.h
dm-bufio.h
dm-dirty-log.h
dm-io.h
dm-kcopyd.h
dm-region-hash.h
dm9000.h
dma-buf-map.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.h Reinstate some of "swiotlb: rework "fix info leak with DMA_FROM_DEVICE"" 2022-04-08 14:24:13 +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
dtpm.h
dw_apb_timer.h
dynamic_debug.h dyndbg: drop EXPORTed dynamic_debug_exec_queries 2022-10-26 12:35:08 +02:00
dynamic_queue_limits.h
earlycpio.h
ecryptfs.h
edac.h
edd.h
eeprom_93cx6.h
eeprom_93xx46.h
efi-bgrt.h
efi.h efi: random: reduce seed size to 32 bytes 2022-11-10 18:15:39 +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
elfnote-lto.h
elfnote.h
enclosure.h
energy_model.h
entry-common.h
entry-kvm.h
err.h
errname.h
errno.h
error-injection.h
errqueue.h
errseq.h
etherdevice.h etherdevice: Adjust ether_addr* prototypes to silence -Wstringop-overead 2022-04-27 14:38:50 +02:00
ethtool.h ethtool: Fix link extended state for big endian 2022-03-08 19:12:39 +01:00
ethtool_netlink.h
eventfd.h eventfd: change int to __u64 in eventfd_signal() ifndef CONFIG_EVENTFD 2022-12-31 13:14:05 +01:00
eventpoll.h
evm.h
export.h export: fix string handling of namespace in EXPORT_SYMBOL_NS 2022-06-14 18:36:06 +02:00
exportfs.h
ext2_fs.h
extable.h
extcon-provider.h
extcon.h extcon: Fix extcon_get_extcon_dev() error handling 2022-06-14 18:36:21 +02:00
f2fs_fs.h
f75375s.h
falloc.h
fanotify.h
fault-inject-usercopy.h
fault-inject.h
fb.h fbdev: Hot-unplug firmware fb devices on forced removal 2022-04-08 14:22:59 +02:00
fbcon.h fbcon: Prevent that screen size is smaller than font size 2022-07-12 16:35:09 +02:00
fcdevice.h
fcntl.h
fd.h
fddidevice.h
fdtable.h
fec.h
fiemap.h
file.h
fileattr.h
filter.h bpf: Use u64_stats_t in struct bpf_prog_stats 2022-03-08 19:12:40 +01:00
fips.h
firewire.h
firmware-map.h
firmware.h
fixp-arith.h
flat.h
flex_proportions.h
font.h
fortify-string.h
freelist.h
freezer.h
frontswap.h
fs.h libfs: add DEFINE_SIMPLE_ATTRIBUTE_SIGNED for signed value 2022-12-31 13:14:03 +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: fix keyring memory leak on mount failure 2022-11-10 18:15:37 +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: invalidate dcache before IN_DELETE event 2022-02-01 17:27:15 +01:00
fsnotify_backend.h
fsverity.h
ftrace.h
ftrace_irq.h
futex.h
fwnode.h device property: Allow error pointer to be passed to fwnode APIs 2022-06-09 10:22:47 +02:00
fwnode_mdio.h
gameport.h
gcd.h
genalloc.h
generic-radix-tree.h
genetlink.h
genhd.h block: drop unused includes in <linux/genhd.h> 2022-03-16 14:23:46 +01:00
genl_magic_func.h
genl_magic_struct.h
getcpu.h
gfp.h
glob.h
gnss.h
goldfish.h tty: goldfish: Introduce gf_ioread32()/gf_iowrite32() 2022-06-09 10:23:20 +02:00
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-internal.h
highmem.h
highuid.h
hil.h
hil_mlc.h
hippidevice.h
hmm.h
host1x.h
hp_sdc.h
hpet.h
hrtimer.h
hrtimer_defs.h
htcpld.h
huge_mm.h
hugetlb.h mm/hugetlb: fix races when looking up a CONT-PTE/PMD size hugetlb page 2022-11-10 18:15:24 +01:00
hugetlb_cgroup.h
hugetlb_inline.h
hw_breakpoint.h
hw_random.h random: pull add_hwgenerator_randomness() declaration into random.h 2022-05-30 09:29:09 +02:00
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
idle_inject.h
idr.h
ieee80211.h ieee80211: add EHT 1K aggregation definitions 2022-08-17 14:23:29 +02:00
ieee802154.h
if_arp.h net: handle ARPHRD_PIMREG in dev_is_mac_header_xmit() 2022-03-23 09:16:42 +01:00
if_bridge.h
if_eql.h
if_ether.h
if_fddi.h
if_hsr.h
if_link.h
if_ltalk.h
if_macvlan.h
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
init_ohci1394_dma.h
init_syscalls.h
init_task.h
initrd.h
inotify.h
input.h
instrumentation.h
instrumented.h
integrity.h
intel-iommu.h iommu/vt-d: Fix kdump kernels boot failure with scalable mode 2022-09-20 12:39:43 +02:00
intel-ish-client-if.h
intel-svm.h
intel_rapl.h
intel_th.h
interconnect-provider.h
interconnect.h
interrupt.h
interval_tree.h
interval_tree_generic.h
io-64-nonatomic-hi-lo.h
io-64-nonatomic-lo-hi.h
io-mapping.h
io-pgtable.h iommu/io-pgtable-arm-v7s: Add a quirk to allow pgtable PA up to 35bit 2022-08-25 11:40:41 +02:00
io.h
io_uring.h
ioam6.h
ioam6_genl.h
ioam6_iptunnel.h
ioasid.h
iocontext.h
iomap.h iomap: Add done_before argument to iomap_dio_rw 2022-05-01 17:22:32 +02:00
iommu-helper.h
iommu.h
iopoll.h
ioport.h kernel/resource: Introduce request_mem_region_muxed() 2022-05-25 09:57:22 +02:00
ioprio.h block: fix default IO priority handling again 2022-08-11 13:07:50 +02:00
iova.h iommu/iova: Fix module config properly 2022-10-26 12:35:26 +02:00
ip.h
ipack.h
ipc.h
ipc_namespace.h
ipmi.h
ipmi_smi.h
ipv6.h ipv6: make mc_forwarding atomic 2022-04-13 20:59:03 +02:00
ipv6_route.h
irq.h
irq_poll.h
irq_sim.h
irq_work.h
irqbypass.h
irqchip.h
irqdesc.h
irqdomain.h
irqflags.h lockdep: Fix -Wunused-parameter for _THIS_IP_ 2022-09-20 12:39:42 +02:00
irqhandler.h
irqnr.h
irqreturn.h
isa.h
isapnp.h
iscsi_boot_sysfs.h
iscsi_ibft.h
iversion.h
jbd2.h ext4: fast commit may not fallback for ineligible commit 2022-03-08 19:12:32 +01:00
jhash.h
jiffies.h
journal-head.h
joystick.h
jump_label.h jump_label,noinstr: Avoid instrumentation for JUMP_LABEL=n builds 2022-06-14 18:36:23 +02:00
jump_label_ratelimit.h
jz4740-adc.h
jz4780-nemc.h
kallsyms.h
kasan-checks.h
kasan-tags.h
kasan.h mm: defer kmemleak object creation of module_alloc() 2022-03-08 19:12:38 +01:00
kbd_diacr.h
kbd_kern.h
kbuild.h
kconfig.h
kcore.h
kcov.h
kcsan-checks.h
kcsan.h
kdb.h
kdebug.h
kdev_t.h
kern_levels.h
kernel-page-flags.h
kernel.h hex2bin: make the function hex_to_bin constant-time 2022-05-09 09:14:30 +02:00
kernel_read_file.h
kernel_stat.h
kernelcapi.h
kernfs.h
kexec.h ima: force signature verification when CONFIG_KEXEC_SIG is configured 2022-07-21 21:24:29 +02:00
key-type.h
key.h
keyboard.h
keyctl.h
keyslot-manager.h
kfence.h mm, kfence: support kmem_dump_obj() for KFENCE objects 2022-04-27 14:38:51 +02:00
kfifo.h kfifo: fix kfifo_to_user() return type 2022-08-17 14:24:08 +02:00
kgdb.h
khugepaged.h
klist.h
kmemleak.h
kmod.h
kmsg_dump.h
kobj_map.h
kobject.h
kobject_ns.h
kprobes.h
kref.h
ks0108.h
ks8842.h
ks8851_mll.h
ksm.h
kstrtox.h
kthread.h
ktime.h
kvm_dirty_ring.h
kvm_host.h kvm: Add support for arch compat vm ioctls 2022-10-29 10:12:54 +02: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 ata: add/use ata_taskfile::{error|status} fields 2022-12-31 13:14:06 +01:00
libfdt.h
libfdt_env.h
libgcc.h
libnvdimm.h
libps2.h
license.h
limits.h
linear_range.h
linkage.h
linkmode.h
linux_logo.h
lis3lv02d.h
list.h rxrpc: Fix locking issue 2022-07-12 16:35:08 +02:00
list_bl.h
list_lru.h
list_nulls.h
list_sort.h
litex.h
livepatch.h
llc.h
llist.h
local_lock.h
local_lock_internal.h
lockdep.h locking/lockdep: Fix lockdep_init_map_*() confusion 2022-08-17 14:23:08 +02:00
lockdep_types.h
lockref.h
log2.h
logic_iomem.h
logic_pio.h
lp.h
lru_cache.h
lsm_audit.h
lsm_hook_defs.h
lsm_hooks.h
lz4.h
lzo.h
mailbox_client.h
mailbox_controller.h mailbox: forward the hrtimer if not queued and under a lock 2022-06-09 10:23:12 +02:00
maple.h
marvell_phy.h
math.h
math64.h
mbcache.h mbcache: add functions to delete entry if unused 2022-08-17 14:22:57 +02:00
mbus.h
mc6821.h
mc146818rtc.h rtc: mc146818-lib: extract mc146818_avoid_UIP 2022-12-14 11:37:18 +01:00
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 Revert "memcg: cleanup racy sum avoidance code" 2022-08-31 17:16:48 +02:00
memfd.h
memory.h
memory_hotplug.h
mempolicy.h
mempool.h
memregion.h memregion: Fix memregion_free() fallback definition 2022-07-12 16:35:10 +02:00
memremap.h memremap: remove support for external pgmap refcounts 2022-08-17 14:23:43 +02: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
misc_cgroup.h
miscdevice.h
mISDNdsp.h
mISDNhw.h
mISDNif.h
mm.h Revert "mm/memory-failure.c: fix race with changing page compound again" 2022-07-12 16:35:17 +02:00
mm_inline.h
mm_types.h
mm_types_task.h
mman.h
mmap_lock.h
mmdebug.h
mmiotrace.h
mmu_context.h
mmu_notifier.h
mmzone.h mm/sparsemem: fix 'mem_section' will never be NULL gcc 12 warning 2022-04-13 20:59:28 +02:00
mnt_idmapping.h fs: port higher-level mapping helpers 2022-07-02 16:41:16 +02:00
mnt_namespace.h
mod_devicetable.h
module.h
module_signature.h
moduleloader.h
moduleparam.h
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
mtio.h
mutex.h
mv643xx.h
mv643xx_eth.h
mv643xx_i2c.h
mvebu-pmsu.h
mxm-wmi.h
namei.h fs: add two trivial lookup helpers 2022-06-09 10:23:32 +02:00
nd.h
ndctl.h
net.h
netdev_features.h net: Fix features skip in for_each_netdev_feature() 2022-05-18 10:26:47 +02:00
netdevice.h net: Fix data-races around sysctl_devconf_inherit_init_net. 2022-08-31 17:16:44 +02:00
netfilter.h
netfilter_bridge.h
netfilter_defs.h
netfilter_ingress.h
netfilter_ipv4.h
netfilter_ipv6.h
netfs.h
netlink.h
netpoll.h
nfs.h
nfs3.h
nfs4.h
nfs_fs.h NFS: Fix WARN_ON due to unionization of nfs_inode.nrequests 2022-09-20 12:39:42 +02:00
nfs_fs_i.h
nfs_fs_sb.h NFSv4.1 mark qualified async operations as MOVEABLE tasks 2022-06-09 10:23:17 +02:00
nfs_iostat.h
nfs_page.h
nfs_ssc.h
nfs_xdr.h NFSv4: Fix free of uninitialized nfs4_label on referral lookup. 2022-11-03 23:59:10 +09:00
nfsacl.h
nitro_enclaves.h
nl802154.h
nls.h
nmi.h watchdog: export lockup_detector_reconfigure 2022-08-25 11:40:43 +02:00
node.h
nodemask.h nodemask: Fix return values to be unsigned 2022-06-14 18:36:24 +02:00
nospec.h
notifier.h
ns_common.h
nsc_gpio.h
nsproxy.h
ntb.h
ntb_transport.h
nubus.h
numa.h
nvme-fc-driver.h
nvme-fc.h
nvme-rdma.h
nvme-tcp.h
nvme.h nvme: allow duplicate NSIDs for private namespaces 2022-04-08 14:24:09 +02:00
nvmem-consumer.h
nvmem-provider.h nvmem: core: Fix a conflict between MTD and NVMEM on wp-gpios property 2022-03-02 11:48:06 +01:00
nvram.h
objagg.h
objtool.h objtool: Re-add UNWIND_HINT_{SAVE_RESTORE} 2022-07-23 12:54:08 +02:00
of.h
of_address.h
of_clk.h
of_device.h of/device: Fix up of_dma_configure_id() stub 2022-09-23 14:15:48 +02:00
of_dma.h
of_fdt.h
of_gpio.h
of_graph.h
of_iommu.h
of_irq.h
of_mdio.h
of_net.h net: of: fix stub of_net helpers for CONFIG_NET=n 2022-03-08 19:12:42 +01:00
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 once: add DO_ONCE_SLOW() for sleepable contexts 2022-10-26 12:34:49 +02:00
once_lite.h x86/extable: Fix ex_handler_msr() print condition 2022-08-17 14:23:14 +02:00
oom.h
openvswitch.h
osq_lock.h
overflow.h overflow: Implement size_t saturating arithmetic helpers 2022-12-31 13:14:33 +01:00
packing.h
padata.h
page-flags-layout.h
page-flags.h
page-isolation.h
page_counter.h
page_ext.h
page_idle.h
page_owner.h
page_ref.h
page_reporting.h
pageblock-flags.h
pagemap.h iov_iter: Introduce fault_in_iov_iter_writeable 2022-05-01 17:22:29 +02:00
pagevec.h
pagewalk.h
panic.h
panic_notifier.h
parman.h
parport.h
parport_pc.h
parser.h
part_stat.h block: drop unused includes in <linux/genhd.h> 2022-03-16 14:23:46 +01:00
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 PCI: Reduce warnings on possible RW1C corruption 2022-04-08 14:23:37 +02:00
pci_hotplug.h
pci_ids.h PCI: Add defines for normal and subtractive PCI bridges 2022-08-17 14:22:57 +02:00
pcs-lynx.h
pda_power.h
pe.h
percpu-defs.h
percpu-refcount.h
percpu-rwsem.h
percpu.h
percpu_counter.h
perf_event.h perf: Fix missing SIGTRAPs 2022-11-03 23:59:15 +09:00
perf_regs.h
personality.h
pfn.h
pfn_t.h
pgtable.h mm/pgtable: define pte_index so that preprocessor could recognize it 2022-02-08 18:34:05 +01:00
phonet.h
phy.h net: phy: Don't trigger state machine while in suspend 2022-07-07 17:53:24 +02:00
phy_fixed.h
phy_led_triggers.h
phylink.h net: phylink: add mac_managed_pm in phylink_config structure 2022-10-29 10:12:56 +02:00
pid.h
pid_namespace.h
pim.h
pipe_fs_i.h fix short copy handling in copy_mc_pipe_to_iter() 2022-08-17 14:22:51 +02:00
pkeys.h
pktcdvd.h
pl320-ipc.h
platform_device.h
platform_profile.h
pldmfw.h
plist.h
pm-trace.h
pm.h
pm_clock.h
pm_domain.h
pm_opp.h
pm_qos.h
pm_runtime.h PM: runtime: Redefine pm_runtime_release_supplier() 2022-07-12 16:35:09 +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 fs: fix acl translation 2022-07-02 16:41:17 +02:00
power_supply.h
powercap.h
ppp-comp.h
ppp_channel.h
ppp_defs.h
pps_kernel.h
pr.h
prandom.h siphash: use one source of truth for siphash permutations 2022-05-30 09:29:15 +02:00
preempt.h
prefetch.h
prime_numbers.h
printk.h
prmt.h
proc_fs.h net, proc: Provide PROC_FS=n fallback for proc_create_net_single_write() 2022-12-31 13:14:09 +01:00
proc_ns.h
processor.h
profile.h
projid.h
property.h
pruss_driver.h
psci.h
pseudo_fs.h
psi.h psi: fix "no previous prototype" warnings when CONFIG_CGROUPS=n 2022-02-01 17:27:15 +01:00
psi_types.h
psp-sev.h
psp-tee.h
pstore.h pstore: Don't use semaphores in always-atomic-context code 2022-04-08 14:23:01 +02:00
pstore_blk.h
pstore_ram.h
pstore_zone.h
ptdump.h
pti.h
ptp_classify.h net: macb: Fix PTP one step sync support 2022-06-09 10:23:01 +02:00
ptp_clock_kernel.h
ptp_kvm.h
ptp_pch.h
ptr_ring.h
ptrace.h ptrace/xtensa: Replace PT_SINGLESTEP with TIF_SINGLESTEP 2022-06-09 10:22:29 +02:00
purgatory.h
pvclock_gtod.h
pwm.h
pwm_backlight.h
pxa2xx_ssp.h
pxa168_eth.h
qcom-geni-se.h
qcom_scm.h
qnx6_fs.h
quota.h
quotaops.h
radix-tree.h
raid_class.h
ramfs.h
random.h random: mark bootloader randomness code as __init 2022-06-14 18:36:27 +02:00
randomize_kstack.h stack: Constrain and fix stack offset randomization with Clang builds 2022-04-08 14:23:06 +02:00
range.h
ras.h
ratelimit.h
ratelimit_types.h random: quiet urandom warning ratelimit suppression message 2022-06-29 09:03:17 +02:00
rational.h
rbtree.h
rbtree_augmented.h
rbtree_latch.h
rbtree_types.h
rcu_node_tree.h
rcu_segcblist.h
rcu_sync.h
rculist.h
rculist_bl.h
rculist_nulls.h
rcupdate.h
rcupdate_trace.h
rcupdate_wait.h
rcutiny.h
rcutree.h
rcuwait.h
reboot-mode.h
reboot.h
reciprocal_div.h
refcount.h
regmap.h
regset.h
relay.h
remoteproc.h
resctrl.h
reset-controller.h
reset.h reset: Fix devm bulk optional exclusive control getter 2022-07-21 21:24:15 +02:00
resource.h
resource_ext.h
restart_block.h
rfkill.h
rhashtable-types.h
rhashtable.h
ring_buffer.h tracing/ring-buffer: Have polling block on watermark 2022-11-26 09:24:42 +01:00
rio.h
rio_drv.h
rio_ids.h
rio_regs.h
rmap.h mm/rmap: Fix anon_vma->degree ambiguity leading to double-reuse 2022-09-05 10:30:07 +02: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 misc: rtsx_usb: use separate command and response buffers 2022-07-12 16:35:17 +02:00
rwbase_rt.h
rwlock.h
rwlock_api_smp.h
rwlock_rt.h
rwlock_types.h
rwsem.h
s3c_adc_battery.h
sbitmap.h
scatterlist.h
scc.h
sched.h eventfd: guard wake_up in eventfd fs calls as well 2022-10-26 12:35:49 +02:00
sched_clock.h
scmi_protocol.h firmware: arm_scmi: Improve checks in the info_get operations 2022-10-12 09:53:26 +02:00
scpi_protocol.h
screen_info.h
scs.h
sctp.h
scx200.h
scx200_gpio.h
sdb.h
seccomp.h
secretmem.h
securebits.h
security.h lockdown: also lock down previous kgdb use 2022-05-25 09:57:37 +02: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_file.h rxrpc: Fix locking issue 2022-07-12 16:35:08 +02:00
seq_file_net.h
seqlock.h
seqno-fence.h
serdev.h
serial.h
serial_8250.h serial: 8250: Toggle IER bits on only after irq has been set up 2022-10-26 12:35:14 +02:00
serial_bcm63xx.h
serial_core.h serial: Add rs485_supported to uart_port 2022-12-02 17:40:59 +01:00
serial_max3100.h
serial_s3c.h
serial_sci.h
serio.h
set_memory.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
signal_types.h
signalfd.h
siox.h
siphash.h siphash: use one source of truth for siphash permutations 2022-05-30 09:29:15 +02:00
sizes.h
skb_array.h
skbuff.h io_uring/af_unix: defer registered files gc to io_uring release 2022-10-26 12:35:52 +02:00
skmsg.h bpf, sockmap: Fix missing BPF_F_INGRESS flag when using apply_bytes 2022-12-31 13:14:14 +01:00
slab.h
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
spinlock_api_smp.h
spinlock_api_up.h
spinlock_rt.h
spinlock_types.h
spinlock_types_raw.h
spinlock_types_up.h
spinlock_up.h
splice.h
spmi.h
sram.h
srcu.h
srcutiny.h
srcutree.h
ssbi.h
stackdepot.h stacktrace: move filter_irq_stacks() to kernel/stacktrace.c 2022-04-13 20:59:28 +02:00
stackleak.h
stackprotector.h
stacktrace.h stacktrace: move filter_irq_stacks() to kernel/stacktrace.c 2022-04-13 20:59:28 +02:00
start_kernel.h
stat.h
statfs.h
static_call.h static_call: Don't make __static_call_return0 static 2022-04-13 20:59:28 +02:00
static_call_types.h
static_key.h
stdarg.h
stddef.h stddef: Introduce DECLARE_FLEX_ARRAY() helper 2022-07-12 16:35:03 +02:00
stm.h
stmmac.h net: stmmac: disable Split Header (SPH) for Intel platforms 2022-05-12 12:30:05 +02:00
stmp3xxx_rtc_wdt.h
stmp_device.h
stop_machine.h
string.h
string_helpers.h
stringhash.h
stringify.h
sungem_phy.h
sunserialcore.h
sunxi-rsb.h
superhyway.h
surface_acpi_notify.h
suspend.h PM: s2idle: ACPI: Fix wakeup interrupts handling 2022-02-16 12:56:19 +01:00
svga.h
sw842.h
swab.h
swait.h
swap.h mm: __isolate_lru_page_prepare() in isolate_migratepages_block() 2022-12-08 11:28:44 +01:00
swap_cgroup.h
swap_slots.h
swapfile.h
swapops.h
swiotlb.h swiotlb: Support aligned swiotlb buffers 2022-04-08 14:24:17 +02:00
switchtec.h
sxgbe_platform.h
sync_core.h
sync_file.h
synclink.h
sys.h
sys_soc.h
syscall_user_dispatch.h
syscalls.h
syscore_ops.h
sysctl.h sysctl: move some boundary constants from sysctl.c to sysctl_vals 2022-07-29 17:25:11 +02:00
sysfb.h firmware: sysfb: Add sysfb_disable() helper function 2022-07-21 21:24:35 +02:00
sysfs.h
syslog.h
sysrq.h
sysv_fs.h
t10-pi.h
task_io_accounting.h
task_io_accounting_ops.h
task_work.h
taskstats_kern.h
tboot.h
tc.h
tca6416_keypad.h
tcp.h tcp: fix tcp_cwnd_validate() to not forget is_cwnd_limited 2022-10-26 12:34:48 +02:00
tee_drv.h tee: export teedev_open() and teedev_close_context() 2022-03-02 11:47:51 +01:00
textsearch.h
textsearch_fsm.h
tfrc.h
thermal.h
thread_info.h
threads.h
thunderbolt.h
ti-emif-sram.h
ti_wilink_st.h
tick.h
tifm.h
timb_dma.h
timb_gpio.h
time.h
time32.h
time64.h
time_namespace.h
timecounter.h
timekeeper_internal.h
timekeeping.h
timer.h
timerfd.h
timeriomem-rng.h
timerqueue.h timerqueue: Use rb_entry_safe() in timerqueue_getnext() 2022-12-31 13:14:02 +01:00
timex.h timekeeping: Add raw clock fallback for random_get_entropy() 2022-05-30 09:29:13 +02:00
tnum.h
topology.h
torture.h rcutorture: Warn on individual rcu_torture_init() error conditions 2022-08-17 14:23:22 +02:00
toshiba.h
tpm.h
tpm_command.h
tpm_eventlog.h tpm: eventlog: Fix section mismatch for DEBUG_SECTION_MISMATCH 2022-08-17 14:24:28 +02:00
trace.h tracing: Fix warning on variable 'struct trace_array' 2022-11-26 09:24:49 +01:00
trace_clock.h
trace_events.h tracing: Wake up ring buffer waiters on closing of the file 2022-10-26 12:34:31 +02:00
trace_recursion.h
trace_seq.h
tracefs.h
tracehook.h
tracepoint-defs.h
tracepoint.h
transport_class.h
ts-nbus.h
tsacct_kern.h
tty.h
tty_buffer.h
tty_driver.h
tty_flip.h tty: drop tty_schedule_flip() 2022-07-29 17:25:32 +02:00
tty_ldisc.h
tty_port.h
typecheck.h
types.h
u64_stats_sync.h
uacce.h uacce: Handle parent device removal or parent driver module rmmod 2022-08-25 11:40:34 +02:00
uaccess.h
ucb1400.h
ucs2_string.h
udp.h rxrpc: Fix ICMP/ICMP6 error handling 2022-09-15 11:30:05 +02:00
uidgid.h
uio.h iov_iter: Introduce nofault flag to disable page faults 2022-05-01 17:22:33 +02:00
uio_driver.h
umh.h
unicode.h
units.h
uprobes.h
usb.h USB: core: Prevent nested device-reset calls 2022-09-08 12:28:07 +02:00
usb_usual.h
usbdevice_fs.h
user-return-notifier.h
user.h
user_namespace.h
userfaultfd_k.h
usermode_driver.h
util_macros.h
uts.h
utsname.h
uuid.h
vbox_utils.h
vdpa.h
verification.h
vermagic.h
vexpress.h
vfio.h
vfio_pci_core.h vfio/pci: Fix vf_token mechanism when device-specific VF drivers are used 2022-04-20 09:34:13 +02:00
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: unexport virtio_finalize_features 2022-03-16 14:23:43 +01:00
virtio_byteorder.h
virtio_caif.h
virtio_config.h virtio: acknowledge all features before access 2022-03-16 14:23:43 +01:00
virtio_console.h
virtio_dma_buf.h
virtio_net.h
virtio_pci_modern.h
virtio_ring.h
virtio_vsock.h
visorbus.h
vlynq.h
vm_event_item.h
vmacache.h
vmalloc.h mm: vmalloc: introduce array allocation functions 2022-07-12 16:35:01 +02:00
vme.h
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
w1.h
wait.h wait: Fix __wait_event_hrtimeout for RT/DL tasks 2022-08-17 14:23:01 +02:00
wait_bit.h
watch_queue.h watch_queue: Fix filter limit check 2022-03-16 14:23:44 +01:00
watchdog.h
win_minmax.h
wireless.h wifi: wext: use flex array destination for memcpy() 2022-11-26 09:24:51 +01:00
wkup_m3_ipc.h
wl12xx.h
wm97xx.h
wmi.h
workqueue.h
writeback.h
ww_mutex.h
wwan.h
xarray.h
xattr.h
xxhash.h
xz.h
yam.h
z2_battery.h
zconf.h
zlib.h
zorro.h
zpool.h
zsmalloc.h
zstd.h
zutil.h