android_kernel_xiaomi_sm8350/include/linux
Eric Biggers 228a4203d8 fscrypt: add fscrypt_symlink_getattr() for computing st_size
commit d18760560593e5af921f51a8c9b64b6109d634c2 upstream.

Add a helper function fscrypt_symlink_getattr() which will be called
from the various filesystems' ->getattr() methods to read and decrypt
the target of encrypted symlinks in order to report the correct st_size.

Detailed explanation:

As required by POSIX and as documented in various man pages, st_size for
a symlink is supposed to be the length of the symlink target.
Unfortunately, st_size has always been wrong for encrypted symlinks
because st_size is populated from i_size from disk, which intentionally
contains the length of the encrypted symlink target.  That's slightly
greater than the length of the decrypted symlink target (which is the
symlink target that userspace usually sees), and usually won't match the
length of the no-key encoded symlink target either.

This hadn't been fixed yet because reporting the correct st_size would
require reading the symlink target from disk and decrypting or encoding
it, which historically has been considered too heavyweight to do in
->getattr().  Also historically, the wrong st_size had only broken a
test (LTP lstat03) and there were no known complaints from real users.
(This is probably because the st_size of symlinks isn't used too often,
and when it is, typically it's for a hint for what buffer size to pass
to readlink() -- which a slightly-too-large size still works for.)

However, a couple things have changed now.  First, there have recently
been complaints about the current behavior from real users:

- Breakage in rpmbuild:
  https://github.com/rpm-software-management/rpm/issues/1682
  https://github.com/google/fscrypt/issues/305

- Breakage in toybox cpio:
  https://www.mail-archive.com/toybox@lists.landley.net/msg07193.html

- Breakage in libgit2: https://issuetracker.google.com/issues/189629152
  (on Android public issue tracker, requires login)

Second, we now cache decrypted symlink targets in ->i_link.  Therefore,
taking the performance hit of reading and decrypting the symlink target
in ->getattr() wouldn't be as big a deal as it used to be, since usually
it will just save having to do the same thing later.

Also note that eCryptfs ended up having to read and decrypt symlink
targets in ->getattr() as well, to fix this same issue; see
commit 3a60a1686f ("eCryptfs: Decrypt symlink target for stat size").

So, let's just bite the bullet, and read and decrypt the symlink target
in ->getattr() in order to report the correct st_size.  Add a function
fscrypt_symlink_getattr() which the filesystems will call to do this.

(Alternatively, we could store the decrypted size of symlinks on-disk.
But there isn't a great place to do so, and encryption is meant to hide
the original size to some extent; that property would be lost.)

Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20210702065350.209646-2-ebiggers@kernel.org
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-09-12 08:56:38 +02:00
..
amba
avf
bcma
byteorder
can net: introduce CAN specific pointer in the struct net_device 2021-04-07 14:47:41 +02:00
ceph
clk
crush
decompress
dma
dsa
extcon
firmware
fpga
fsl
gpio
greybus
hsi
i3c
iio iio: cros_ec_sensors: Fix alignment of buffer in iio_push_to_buffers_with_timestamp() 2021-07-14 16:53:39 +02:00
input Input: elan_i2c - add more hardware ID for Lenovo laptops 2020-07-22 09:33:13 +02:00
irqchip
isdn
lockd
mailbox
mfd regulator: rt5033: Fix n_voltages settings for BUCK and LDO 2021-08-08 09:04:07 +02:00
mlx4 RDMA/mlx4: Do not map the core_clock page to user space unless enabled 2021-06-16 11:59:44 +02:00
mlx5 net/mlx5e: Fix page reclaim for dead peer hairpin 2021-06-23 14:41:24 +02:00
mmc mmc: core: Fix hanging on I/O during system suspend for removable cards 2021-05-11 14:04:03 +02:00
mtd mtd: lpddr: Fix bad logic in print_drs_error 2020-11-01 12:01:05 +01:00
mux
netfilter netfilter: x_tables: Use correct memory barriers. 2021-03-30 14:35:28 +02:00
netfilter_arp netfilter: arp_tables: add pre_exit hook for table unregister 2021-04-21 12:56:16 +02:00
netfilter_bridge netfilter: bridge: add pre_exit hooks for ebtable unregistration 2021-04-21 12:56:16 +02:00
netfilter_ipv4
netfilter_ipv6
perf
phy
pinctrl
platform_data gpio: omap: Save and restore sysconfig 2021-04-28 13:19:14 +02:00
power power: supply: bq27xxx: fix power_avg for newer ICs 2021-05-11 14:04:08 +02:00
qed net: qed: Disable aRFS for NPAR and 100G 2020-10-01 13:18:18 +02:00
raid
regulator
remoteproc
reset
rpmsg
rtc
sched x86/signal: Detect and prevent an alternate signal stack overflow 2021-07-20 16:10:49 +02:00
soc
soundwire
spi spi: Fix use-after-free with devm_spi_alloc_* 2021-05-14 09:44:20 +02:00
ssb
sunrpc SUNRPC: Move simple_get_bytes and simple_get_netobj into private header 2021-02-13 13:52:56 +01:00
ulpi
unaligned
usb usb: otg-fsm: Fix hrtimer list corruption 2021-08-12 13:21:00 +02:00
wimax
8250_pci.h
a.out.h
acct.h
acpi_dma.h
acpi_iort.h
acpi_pmtmr.h
acpi.h ACPI: tables: x86: Reserve memory occupied by ACPI tables 2021-05-07 10:51:36 +02:00
adb.h
adfs_fs.h
adxl.h
aer.h
agp_backend.h
agpgart.h
ahci_platform.h
ahci-remap.h
aio.h
alarmtimer.h
alcor_pci.h
altera_jtaguart.h
altera_uart.h
amd-iommu.h
anon_inodes.h
apm_bios.h
apm-emulation.h
apple_bl.h
apple-gmux.h
arch_topology.h
arm_sdei.h
arm-cci.h
arm-smccc.h KVM: arm64: ARM_SMCCC_ARCH_WORKAROUND_1 doesn't return SMCCC_RET_NOT_REQUIRED 2020-11-18 19:20:21 +01:00
armada-37xx-rwtm-mailbox.h
ascii85.h
asn1_ber_bytecode.h
asn1_decoder.h
asn1.h
assoc_array_priv.h
assoc_array.h
async_tx.h
async.h
ata_platform.h
ata.h
atalk.h
ath9k_platform.h
atm_suni.h
atm_tcp.h
atm.h
atmdev.h
atmel_pdc.h
atmel-mci.h
atmel-ssc.h
atomic-fallback.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
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 exec: Add exec_update_mutex to replace cred_guard_mutex 2020-10-01 13:17:47 +02:00
bio.h block: return the correct bvec when checking for gaps 2021-07-14 16:53:48 +02:00
bit_spinlock.h
bitfield.h bitfield.h: don't compile-time validate _val in FIELD_FIT 2020-08-19 08:16:28 +02:00
bitmap.h
bitops.h include/linux/bitops.h: avoid clang shift-count-overflow warnings 2020-06-24 17:50:39 +02:00
bitrev.h
bits.h
blk_types.h
blk-cgroup.h
blk-mq-pci.h
blk-mq-rdma.h
blk-mq-virtio.h
blk-mq.h
blk-pm.h
blkdev.h blk-mq-debugfs: update blk_queue_flag_name[] accordingly for new flags 2020-07-22 09:32:52 +02:00
blkpg.h
blktrace_api.h
blockgroup_lock.h
bma150.h
bottom_half.h
bpf_lirc.h
bpf_trace.h
bpf_types.h
bpf_verifier.h bpf: Fix leakage of uninitialized bpf stack under speculation 2021-05-07 10:51:37 +02:00
bpf-cgroup.h
bpf.h bpf: Don't do bpf_cgroup_storage_set() for kuprobe/tp programs 2021-03-30 14:35:28 +02:00
bpfilter.h
brcmphy.h
bsearch.h
bsg-lib.h
bsg.h
btf.h
btree-128.h
btree-type.h
btree.h
btrfs.h
buffer_head.h
bug.h
build_bug.h kbuild: avoid static_assert for genksyms 2020-12-16 10:56:58 +01:00
build-salt.h
bvec.h block: allow for_each_bvec to support zero len bvec 2020-09-09 19:12:34 +02:00
c2port.h
cache.h
cacheinfo.h
capability.h
cb710.h
cciss_ioctl.h
ccp.h
cdev.h
cdrom.h
cfag12864b.h
cgroup_rdma.h
cgroup_subsys.h
cgroup-defs.h cgroup: Fix sock_cgroup_data on big-endian. 2020-07-22 09:32:50 +02:00
cgroup.h cgroup: fix cgroup_sk_alloc() for sk_clone_lock() 2020-07-22 09:32:49 +02:00
circ_buf.h
cleancache.h
clk-provider.h
clk.h
clkdev.h
clock_cooling.h
clockchips.h
clocksource.h
cm4000_cs.h
cma.h
cmdline-parser.h
cn_proc.h
cnt32_to_63.h
coda.h
compaction.h
compat.h
compiler_attributes.h
compiler_types.h vmlinux.lds.h: Create section for protection against instrumentation 2021-02-17 10:35:16 +01:00
compiler-clang.h compiler.h: fix barrier_data() on clang 2020-12-16 10:56:59 +01:00
compiler-gcc.h compiler.h: Raise minimum version of GCC to 5.1 for arm64 2021-01-23 15:57:55 +01:00
compiler-intel.h
compiler.h vmlinux.lds.h: Create section for protection against instrumentation 2021-02-17 10:35:16 +01:00
completion.h
component.h
configfs.h
connector.h
console_struct.h vt: Fix character height handling with VT_RESIZEX 2021-05-26 12:05:20 +02:00
console.h
consolemap.h
const.h
container.h
context_tracking_state.h
context_tracking.h
cordic.h
coredump.h
coresight-pmu.h
coresight-stm.h
coresight.h
count_zeros.h
counter_enum.h
counter.h
cper.h
cpu_cooling.h
cpu_pm.h
cpu_rmap.h
cpu.h
cpufeature.h
cpufreq.h
cpuhotplug.h clocksource/drivers/timer-ti-dm: Handle dra7 timer wrap errata i940 2021-06-23 14:41:31 +02:00
cpuidle_haltpoll.h
cpuidle.h
cpumask.h
cpuset.h
crash_core.h
crash_dump.h
crc4.h
crc7.h
crc8.h
crc16.h
crc32.h
crc32c.h
crc32poly.h
crc64.h
crc-ccitt.h
crc-itu-t.h
crc-t10dif.h
cred.h
crypto.h crypto - shash: reduce minimum alignment of shash_desc structure 2021-03-09 11:09:38 +01:00
cryptohash.h
cs5535.h
ctype.h
cuda.h
cyclades.h
davinci_emac.h
dax.h dax: Fix compilation for CONFIG_DAX && !CONFIG_FS_DAX 2020-09-23 12:40:47 +02:00
dca.h
dcache.h
dccp.h
dcookies.h
debug_locks.h
debugfs.h debugfs: Fix !DEBUG_FS debugfs_create_automount 2020-10-01 13:17:21 +02:00
debugobjects.h
delay.h
delayacct.h
delayed_call.h
devcoredump.h
devfreq_cooling.h
devfreq-event.h
devfreq.h
device_cgroup.h
device-mapper.h dm: fix deadlock when swapping to encrypted device 2021-03-04 10:26:51 +01:00
device.h PCI/MSI: Protect msi_desc::masked for multi-MSI 2021-08-18 08:57:03 +02:00
devpts_fs.h
digsig.h
dim.h
dio.h
dirent.h
dlm_plock.h
dlm.h
dm9000.h
dm-bufio.h dm integrity: fix flush with external metadata device 2021-01-19 18:26:13 +01:00
dm-dirty-log.h
dm-io.h
dm-kcopyd.h
dm-region-hash.h
dma-buf.h dmabuf: use spinlock to access dmabuf->name 2020-07-29 10:18:29 +02:00
dma-contiguous.h
dma-debug.h
dma-direct.h
dma-direction.h
dma-fence-array.h
dma-fence-chain.h
dma-fence.h
dma-iommu.h
dma-mapping.h
dma-noncoherent.h
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_genl_api.h
drbd_genl.h
drbd_limits.h
drbd.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
eeprom_93cx6.h
eeprom_93xx46.h misc: eeprom_93xx46: Add quirk to support Microchip 93LC46B eeprom 2021-03-11 14:06:50 +01:00
efi-bgrt.h
efi.h efi: use 32-bit alignment for efi_guid_t literals 2021-03-24 11:26:45 +01:00
efs_vh.h
eisa.h
elevator.h kyber: fix out of bounds access when preempted 2021-05-19 10:08:30 +02:00
elf-fdpic.h
elf-randomize.h
elf.h
elfcore-compat.h
elfcore.h elfcore: fix building with clang 2021-01-23 15:57:55 +01:00
elfnote.h
enclosure.h
energy_model.h
err.h
errno.h
error-injection.h
errqueue.h
errseq.h
etherdevice.h
ethtool.h
eventfd.h
eventpoll.h
evm.h
export.h
exportfs.h
ext2_fs.h
extable.h
extcon-provider.h
extcon.h extcon: Add stubs for extcon_register_notifier_all() functions 2021-04-07 14:47:43 +02:00
f2fs_fs.h
f75375s.h
falloc.h
fanotify.h
fault-inject.h
fb.h fbmem: pull fbcon_update_vcs() out of fb_set_var() 2020-09-03 11:27:09 +02:00
fbcon.h
fcdevice.h
fcntl.h
fd.h
fddidevice.h
fdtable.h
fec.h
file.h
filter.h bpf: Avoid warning when re-casting __bpf_call_base into __bpf_call_base_args 2021-03-04 10:26:13 +01:00
fips.h
firewire.h
firmware-map.h
firmware.h
fixp-arith.h
flat.h
flex_proportions.h
font.h Fonts: Support FONT_EXTRA_WORDS macros for built-in fonts 2020-10-14 10:32:56 +02:00
frame.h
freezer.h
frontswap.h
fs_context.h cgroup1: fix leaked context root causing sporadic NULL deref in LTP 2021-07-31 08:19:37 +02:00
fs_enet_pd.h
fs_parser.h
fs_pin.h
fs_stack.h
fs_struct.h
fs_types.h
fs_uart_pd.h
fs.h writeback: Drop I_DIRTY_TIME_EXPIRE 2021-01-30 13:54:11 +01:00
fscache-cache.h
fscache.h
fscrypt.h fscrypt: add fscrypt_symlink_getattr() for computing st_size 2021-09-12 08:56:38 +02:00
fsi-occ.h
fsi-sbefifo.h
fsi.h
fsl_devices.h
fsl_hypervisor.h
fsl_ifc.h
fsl-diu-fb.h
fsldma.h
fsnotify_backend.h
fsnotify.h
fsverity.h
ftrace_irq.h
ftrace.h
futex.h
fwnode.h
gameport.h
gcd.h
genalloc.h
generic-radix-tree.h
genetlink.h
genhd.h block/diskstats: more accurate approximation of io_ticks for slow disks 2020-10-07 08:01:29 +02:00
genl_magic_func.h
genl_magic_struct.h
getcpu.h
gfp.h
glob.h
gnss.h
goldfish.h
gpio_keys.h
gpio-pxa.h
gpio.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 HID: usbhid: fix info leak in hid_submit_ctrl 2021-06-18 09:58:58 +02:00
hiddev.h
hidraw.h
highmem.h
highuid.h
hil_mlc.h hil/parisc: Disable HIL driver when it gets stuck 2020-11-05 11:43:36 +01:00
hil.h
hippidevice.h
hmm.h
host1x.h
hp_sdc.h
hpet.h
hrtimer_defs.h
hrtimer.h
htcpld.h
huge_mm.h mm/thp: make is_huge_zero_pmd() safe and quicker 2021-06-30 08:47:52 -04:00
hugetlb_cgroup.h
hugetlb_inline.h
hugetlb.h mm, futex: fix shared futex pgoff on shmem huge page 2021-06-30 08:47:55 -04:00
hw_breakpoint.h
hw_random.h
hwmon-sysfs.h
hwmon-vid.h
hwmon.h
hwspinlock.h
hyperv.h Drivers: hv: vmbus: Ignore CHANNELMSG_TL_CONNECT_RESULT(23) 2020-08-11 15:33:38 +02:00
hypervisor.h
i2c-algo-bit.h
i2c-algo-pca.h i2c: algo: pca: Reapply i2c bus settings after reset 2020-09-23 12:40:38 +02:00
i2c-algo-pcf.h
i2c-dev.h
i2c-mux.h
i2c-pxa.h
i2c-smbus.h
i2c.h i2c: Add I2C_AQ_NO_REP_START adapter quirk 2021-05-19 10:08:22 +02:00
i8042.h
i8253.h
icmp.h
icmpv6.h net: icmp: pass zeroed opts from icmp{,v6}_ndo_send before sending 2021-03-04 10:26:53 +01:00
ide.h
idle_inject.h
idr.h
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:35:25 +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 vlan: consolidate VLAN parsing code and limit max parsing depth 2020-07-22 09:32:49 +02:00
igmp.h
ihex.h
ima.h
imx-media.h
in6.h
in.h
indirect_call_wrapper.h
inet_diag.h
inet.h
inetdevice.h net: igmp: increase size of mr_ifc_count 2021-08-18 08:57:01 +02:00
init_ohci1394_dma.h
init_task.h
init.h
initrd.h
inotify.h
input-polldev.h
input.h
integrity.h
intel_rapl.h
intel_th.h
intel-iommu.h iommu/vt-d: Don't dereference iommu_device if IOMMU_API is not built 2021-02-03 23:26:01 +01:00
intel-ish-client-if.h
intel-pti.h
intel-svm.h
interconnect-provider.h
interconnect.h
interrupt.h
interval_tree_generic.h
interval_tree.h
io-64-nonatomic-hi-lo.h
io-64-nonatomic-lo-hi.h
io-mapping.h io-mapping: indicate mapping failure 2020-07-29 10:18:44 +02:00
io-pgtable.h
io.h
ioc3.h
iocontext.h
iomap.h iomap: fix sub-page uptodate handling 2021-05-19 10:08:30 +02:00
iommu-helper.h
iommu.h
iopoll.h
ioport.h /dev/mem: Revoke mappings when a driver claims the region 2020-06-24 17:50:35 +02:00
ioprio.h
iova.h
ip.h
ipack.h
ipc_namespace.h
ipc.h
ipmi_smi.h
ipmi-fru.h
ipmi.h
ipv6_route.h
ipv6.h net: icmp: pass zeroed opts from icmp{,v6}_ndo_send before sending 2021-03-04 10:26:53 +01:00
irq_cpustat.h
irq_poll.h
irq_sim.h
irq_work.h
irq.h genirq: Provide IRQCHIP_AFFINITY_PRE_STARTUP 2021-08-18 08:57:02 +02:00
irqbypass.h
irqchip.h
irqdesc.h
irqdomain.h genirq/irqdomain: Add an irq_create_mapping_affinity() function 2020-12-11 13:23:30 +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: clean __jbd2_journal_abort_hard() and __journal_abort_soft() 2020-06-24 17:50:48 +02:00
jhash.h
jiffies.h
journal-head.h
joystick.h
jump_label_ratelimit.h
jump_label.h
jz4740-adc.h
jz4780-nemc.h
kallsyms.h kallsyms: Refactor kallsyms_show_value() to take cred 2020-07-16 08:16:44 +02:00
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 kdev_t: always inline major/minor helper functions 2021-01-09 13:44:54 +01:00
kern_levels.h
kernel_stat.h
kernel-page-flags.h
kernel.h
kernelcapi.h
kernfs.h
kexec.h ima: Free IMA measurement buffer after kexec syscall 2021-03-04 10:26:25 +01:00
key-type.h
key.h certs: Fix blacklist flag type confusion 2021-03-04 10:26:29 +01:00
keyboard.h
keyctl.h
kfifo.h
kgdb.h
khugepaged.h mm: khugepaged: recalculate min_free_kbytes after memory hotplug as expected by khugepaged 2020-10-14 10:33:05 +02:00
klist.h
kmemleak.h
kmod.h
kmsg_dump.h
kobj_map.h
kobject_ns.h
kobject.h
kprobes.h tracing/kprobe: Fix to support kretprobe events on unloaded modules 2021-02-13 13:52:54 +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:35:49 +01:00
ktime.h
kvm_host.h kvm: fix previous commit for 32-bit builds 2021-06-16 11:59:45 +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-lm3530.h
leds_pwm.h
leds-bd2802.h
leds-lp3944.h
leds-lp3952.h
leds-pca9532.h
leds-regulator.h
leds-tca6507.h
leds-ti-lmu-common.h
leds.h
libata.h ata: make qc_prep return ata_completion_errors 2020-10-01 13:18:26 +02:00
libfdt_env.h
libfdt.h
libgcc.h
libnvdimm.h
libps2.h
license.h
lightnvm.h
limits.h
linkage.h linkage: Introduce new macros for assembler symbols 2020-11-10 12:37:24 +01:00
linkmode.h
linux_logo.h
lis3lv02d.h
list_bl.h
list_lru.h
list_nulls.h
list_sort.h
list.h
livepatch.h
llc.h
llist.h
lockdep.h
lockref.h
log2.h include/linux/log2.h: add missing () around n in roundup_pow_of_two() 2020-09-09 19:12:29 +02:00
logic_pio.h
lp.h
lru_cache.h
lsm_audit.h
lsm_hooks.h
lz4.h
lzo.h
mailbox_client.h
mailbox_controller.h
maple.h
marvell_phy.h net: phy: marvell: fix detection of PHY on Topaz switches 2021-04-21 12:56:18 +02:00
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: memcontrol: fix occasional OOMs due to proportional memory.low reclaim 2021-08-26 08:36:22 -04:00
memfd.h
memory_hotplug.h
memory.h
mempolicy.h
mempool.h
memremap.h
memstick.h memstick: Skip allocating card when removing host 2020-10-07 08:01:25 +02:00
mic_bus.h
micrel_phy.h
microchipphy.h
migrate_mode.h
migrate.h
mii.h
miscdevice.h
mISDNdsp.h
mISDNhw.h
mISDNif.h
mm_inline.h
mm_types_task.h
mm_types.h mm: fix struct page layout on 32-bit systems 2021-05-19 10:08:31 +02:00
mm-arch-hooks.h
mm.h mm/thp: unmap_mapping_page() to fix THP truncate_cleanup_page() 2021-06-30 08:47:53 -04:00
mman.h
mmdebug.h mm: add VM_WARN_ON_ONCE_PAGE() macro 2021-06-30 08:47:51 -04:00
mmiotrace.h
mmu_context.h
mmu_notifier.h
mmzone.h mm: replace memmap_context by meminit_context 2020-10-07 08:01:29 +02:00
mnt_namespace.h
mod_devicetable.h Input: add SW_MACHINE_COVER 2020-07-29 10:18:36 +02:00
module_signature.h
module.h modules: inherit TAINT_PROPRIETARY_MODULE 2021-05-11 14:04:04 +02:00
moduleloader.h
moduleparam.h
mount.h
moxtet.h
mpage.h
mpi.h
mpls_iptunnel.h
mpls.h
mroute6.h
mroute_base.h
mroute.h
msdos_fs.h
msg.h
msi.h PCI/MSI: Protect msi_desc::masked for multi-MSI 2021-08-18 08:57:03 +02:00
mutex.h locking/mutex: Fix non debug version of mutex_lock_io_nested() 2021-03-30 14:35:29 +02:00
mv643xx_eth.h
mv643xx_i2c.h
mv643xx.h
mvebu-pmsu.h
mxm-wmi.h
n_r3964.h
namei.h
nd.h
ndctl.h
net.h net: introduce helper sendpage_ok() in include/linux/net.h 2020-10-14 10:33:00 +02:00
netdev_features.h net: fix mistake path for netdev_features_strings 2021-07-19 08:53:11 +02:00
netdevice.h net: don't unconditionally copy_from_user a struct ifreq for socket ioctls 2021-09-03 10:08:16 +02:00
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-11-18 19:20:17 +01:00
netfilter_ipv6.h netfilter: use actual socket sk rather than skb sk when routing harder 2020-11-18 19:20:17 +01:00
netfilter.h netfilter: clear skb->next in NF_HOOK_LIST() 2020-12-02 08:49:44 +01:00
netlink.h
netpoll.h
nfs3.h
nfs4.h
nfs_fs_i.h
nfs_fs_sb.h
nfs_fs.h NFS: nfs_find_open_context() may only select open files 2021-07-20 16:10:48 +02:00
nfs_iostat.h
nfs_page.h NFS: Fix races nfs_page_group_destroy() vs nfs_destroy_unlinked_subrequests() 2020-10-01 13:17:52 +02:00
nfs_xdr.h
nfs.h
nfsacl.h
nl802154.h
nls.h
nmi.h
node.h mm: don't rely on system state to detect hot-plug operations 2020-10-07 08:01:30 +02:00
nodemask.h
nospec.h
notifier.h
ns_common.h
nsc_gpio.h
nsproxy.h
ntb_transport.h
ntb.h
nubus.h
numa.h
nvme-fc-driver.h
nvme-fc.h
nvme-rdma.h
nvme-tcp.h
nvme.h
nvmem-consumer.h
nvmem-provider.h
nvram.h
objagg.h
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
of.h of: fix linker-section match-table corruption 2021-01-06 14:48:37 +01:00
oid_registry.h
olpc-ec.h
omap-dma.h
omap-gpmc.h
omap-iommu.h
omap-mailbox.h
omapfb.h
once.h once: Fix panic when module unload 2021-09-03 10:08:12 +02:00
oom.h mm, oom: make the calculation of oom badness more accurate 2021-09-03 10:08:12 +02:00
openvswitch.h
oprofile.h
osq_lock.h
overflow.h overflow: Include header file with SIZE_MAX declaration 2020-10-29 09:57:51 +01:00
packing.h
padata.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-29 09:57:52 +01:00
page_ref.h
page-flags-layout.h
page-flags.h
page-isolation.h
pageblock-flags.h
pagemap.h mm, futex: fix shared futex pgoff on shmem huge page 2021-06-30 08:47:55 -04:00
pagevec.h
pagewalk.h
parman.h
parport_pc.h
parport.h
parser.h
pata_arasan_cf_data.h
patchkey.h
path.h
pch_dma.h
pci_hotplug.h
pci_ids.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/IOV: Mark VFs as not implementing PCI_COMMAND_MEMORY 2020-10-29 09:57:54 +01:00
pda_power.h
pe.h
percpu_counter.h
percpu-defs.h
percpu-refcount.h
percpu-rwsem.h
percpu.h
perf_event.h
perf_regs.h
personality.h
pfn_t.h
pfn.h
phonet.h
phy_fixed.h
phy_led_triggers.h
phy.h
phylink.h
pid_namespace.h
pid.h
pim.h
pipe_fs_i.h
pkeys.h
pktcdvd.h
pl320-ipc.h
pl353-smc.h
platform_device.h
plist.h
pm2301_charger.h
pm_clock.h
pm_domain.h
pm_opp.h
pm_qos.h
pm_runtime.h PM: runtime: Add pm_runtime_resume_and_get to deal with usage counter 2020-12-30 11:50:53 +01:00
pm_wakeirq.h
pm_wakeup.h
pm-trace.h
pm.h PM: runtime: Fix unpaired parent child_count for force_resume 2021-05-19 10:08:20 +02:00
pmbus.h
pmu.h
pnfs_osd_xdr.h
pnp.h
poison.h
poll.h
posix_acl_xattr.h
posix_acl.h
posix-clock.h
posix-timers.h
power_supply.h
powercap.h
ppp_channel.h
ppp_defs.h
ppp-comp.h
pps_kernel.h
pps-gpio.h
pr.h
prandom.h random32: Fix implicit truncation warning in prandom_seed_state() 2021-07-14 16:53:17 +02:00
preempt.h
prefetch.h i40e: optimise prefetch page refcount 2020-12-30 11:50:55 +01:00
prime_numbers.h
printk.h
proc_fs.h proc: fix lookup in /proc/net subdirectories after setns(2) 2021-01-12 20:16:10 +01:00
proc_ns.h
processor.h
profile.h
projid.h
property.h
psci.h
pseudo_fs.h
psi_types.h
psi.h
psp-sev.h
pstore_ram.h
pstore.h
pti.h
ptp_classify.h
ptp_clock_kernel.h ptp: improve max_adj check against unreasonable values 2021-06-23 14:41:26 +02:00
ptr_ring.h
ptrace.h
purgatory.h
pvclock_gtod.h
pwm_backlight.h
pwm.h
pxa2xx_ssp.h
pxa168_eth.h
qcom_scm.h
qcom-geni-se.h serial: qcom_geni_serial: To correct QUP Version detection logic 2020-11-01 12:01:06 +01:00
qnx6_fs.h
quota.h
quotaops.h
radix-tree.h
raid_class.h
ramfs.h
random.h random32: move the pseudo-random 32-bit definitions to prandom.h 2020-08-07 09:34:01 +02:00
range.h
ras.h
ratelimit.h
rational.h
rbtree_augmented.h
rbtree_latch.h
rbtree.h
rcu_node_tree.h
rcu_segcblist.h
rcu_sync.h
rculist_bl.h
rculist_nulls.h
rculist.h
rcupdate_wait.h
rcupdate.h rcu/nocb: Perform deferred wake up before last idle's need_resched() check 2021-03-04 10:26:47 +01:00
rcutiny.h
rcutree.h
rcuwait.h
reboot-mode.h
reboot.h
reciprocal_div.h
refcount.h
regmap.h
regset.h
relay.h
remoteproc.h
reset-controller.h
reset.h
resource_ext.h
resource.h
restart_block.h
rfkill.h
rhashtable-types.h
rhashtable.h rhashtable: Fix unprotected RCU dereference in __rht_ptr 2020-08-05 09:59:47 +02:00
ring_buffer.h
rio_drv.h
rio_ids.h
rio_regs.h
rio.h
rmap.h mm/thp: try_to_unmap() use TTU_SYNC for safe splitting 2021-06-30 08:47:52 -04: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_api_smp.h
rwlock_types.h
rwlock.h
rwsem.h rwsem: Implement down_read_interruptible 2021-01-09 13:44:55 +01:00
s3c_adc_battery.h
sbitmap.h
scatterlist.h
scc.h
sched_clock.h
sched.h
scif.h
scmi_protocol.h
scpi_protocol.h
screen_info.h
sctp.h
scx200_gpio.h
scx200.h
sdb.h
sdla.h
seccomp.h
securebits.h
security.h fix namespaced fscaps when !CONFIG_SECURITY 2020-12-30 11:51:30 +01:00
sed-opal.h
seg6_genl.h
seg6_hmac.h
seg6_iptunnel.h
seg6_local.h
seg6.h
selection.h
sem.h
semaphore.h
seq_buf.h seq_buf: Avoid type mismatch for seq_buf_init 2020-12-30 11:51:21 +01:00
seq_file_net.h
seq_file.h
seqlock.h seqlock: Require WRITE_ONCE surrounding raw_seqcount_barrier 2020-10-01 13:17:25 +02:00
seqno-fence.h
serdev.h
serial_8250.h
serial_bcm63xx.h
serial_core.h
serial_max3100.h
serial_pnx8xxx.h
serial_s3c.h
serial_sci.h
serial.h
serio.h
set_memory.h
sfi_acpi.h
sfi.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_types.h
signal.h
signalfd.h
siox.h
siphash.h
sirfsoc_dma.h
sizes.h
skb_array.h
skbuff.h net: skbuff: disambiguate argument and member for skb_list_walk_safe helper 2021-01-23 15:57:57 +01:00
skmsg.h bpf, sockmap: Fix sk->prot unhash op reset 2021-04-14 08:24:12 +02:00
slab_def.h
slab.h
slimbus.h
slub_def.h
sm501-regs.h
sm501.h
smc91x.h
smc911x.h
smp.h smp: Fix smp_call_function_single_async prototype 2021-05-14 09:44:33 +02:00
smpboot.h
smsc911x.h
smscphy.h
sock_diag.h
socket.h net: make get_net_ns return error if NET_NS is disabled 2021-06-23 14:41:25 +02:00
sonet.h
sony-laptop.h
sonypi.h
sort.h
sound.h
soundcard.h
spinlock_api_smp.h
spinlock_api_up.h
spinlock_types_up.h
spinlock_types.h
spinlock_up.h
spinlock.h
splice.h
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_key.h
stddef.h
stm.h
stmmac.h
stmp3xxx_rtc_wdt.h
stmp_device.h
stop_machine.h stop_machine: mark helpers __always_inline 2021-03-17 17:03:56 +01:00
string_helpers.h
string.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_cgroup.h
swap_slots.h
swap.h swap: fix swapfile read/write offset 2021-03-07 12:20:49 +01:00
swapfile.h
swapops.h
swiotlb.h swiotlb: using SIZE_MAX needs limits.h included 2020-11-24 13:29:04 +01:00
switchtec.h
sxgbe_platform.h
sync_core.h
sync_file.h
synclink.h
sys_soc.h
sys.h
syscalls.h
syscore_ops.h
sysctl.h
sysfs.h sysfs: Add sysfs_emit and sysfs_emit_at to format sysfs output 2021-03-07 12:20:48 +01:00
syslog.h
sysrq.h
sysv_fs.h
t10-pi.h
task_io_accounting_ops.h
task_io_accounting.h
task_work.h
taskstats_kern.h
tboot.h
tc.h
tca6416_keypad.h
tcp.h tcp: allow at most one TLP probe per flight 2020-07-31 18:39:31 +02:00
tee_drv.h tee: Correct inappropriate usage of TEE_SHM_DMA_BUF flag 2021-08-15 13:08:02 +02:00
textsearch_fsm.h
textsearch.h
tfrc.h
thermal.h
thread_info.h kernel, fs: Introduce and use set_restart_fn() and arch_set_restart_data() 2021-03-24 11:26:44 +01:00
threads.h
thunderbolt.h
ti_wilink_st.h
ti-emif-sram.h
tick.h
tifm.h
timb_dma.h
timb_gpio.h
time32.h
time64.h time: Prevent undefined behaviour in timespec64_to_ns() 2020-11-18 19:20:15 +01:00
time.h
timecounter.h
timekeeper_internal.h
timekeeping32.h
timekeeping.h
timer.h
timerfd.h
timeriomem-rng.h
timerqueue.h
timex.h
tnum.h
topology.h
torture.h
toshiba.h
tpm_command.h
tpm_eventlog.h tpm: Require that all digests are present in TCG_PCR_EVENT2 structures 2020-08-19 08:15:57 +02:00
tpm.h tpm: Unify the mismatching TPM space buffer sizes 2020-08-19 08:16:27 +02:00
trace_clock.h
trace_events.h
trace_seq.h seq_buf: Avoid type mismatch for seq_buf_init 2020-12-30 11:51:21 +01:00
trace.h
tracefs.h
tracehook.h
tracepoint-defs.h
tracepoint.h tracepoint: Add tracepoint_probe_register_may_exist() for BPF tracing 2021-07-14 16:53:08 +02:00
transport_class.h
ts-nbus.h
tsacct_kern.h
tty_driver.h tty: fix return value for unsupported ioctls 2021-05-14 09:44:22 +02:00
tty_flip.h
tty_ldisc.h
tty.h tty: Fix ->session locking 2020-12-11 13:23:28 +01:00
typecheck.h
types.h
u64_stats_sync.h u64_stats,lockdep: Fix u64_stats_init() vs lockdep 2021-03-30 14:35:22 +02:00
uaccess.h
ucb1400.h
ucs2_string.h
udp.h
uidgid.h
uio_driver.h
uio.h udp: fix skb_copy_and_csum_datagram with odd segment sizes 2021-02-17 10:35:19 +01:00
umh.h
unicode.h
uprobes.h
usb_usual.h usb-storage: Add quirk to defeat Kindle's automatic unload 2021-03-24 11:26:40 +01:00
usb.h
usbdevice_fs.h
user_namespace.h
user-return-notifier.h
user.h
userfaultfd_k.h
util_macros.h
uts.h
utsname.h
uuid.h
vbox_utils.h
verification.h
vermagic.h
vexpress.h
vfio.h
vfs.h
vga_switcheroo.h
vgaarb.h
via_i2c.h
via-core.h
via-gpio.h
via.h
videodev2.h
virtio_byteorder.h
virtio_caif.h
virtio_config.h
virtio_console.h
virtio_net.h virtio_net: Do not pull payload in skb->head 2021-05-22 11:38:28 +02:00
virtio_ring.h
virtio_vsock.h vsock/virtio: add transport parameter to the virtio_transport_reset_no_sock() 2020-10-07 08:01:24 +02:00
virtio.h virtio: Protect vqs list access 2021-08-26 08:36:16 -04:00
visorbus.h
vlynq.h
vm_event_item.h
vm_sockets.h
vmacache.h
vmalloc.h
vme.h
vmpressure.h
vmstat.h
vmw_vmci_api.h
vmw_vmci_defs.h
vringh.h
vt_buffer.h
vt_kern.h
vt.h
vtime.h
w1-gpio.h
w1.h
wait_bit.h
wait.h rq-qos: fix missed wake-ups in rq_qos_throttle try two 2021-07-19 08:53:16 +02:00
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: add xas_split 2021-06-10 13:37:14 +02:00
xattr.h xattr: break delegations in {set,remove}xattr 2020-08-11 15:33:39 +02:00
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:20:49 +01:00
zstd.h
zutil.h