linux-stable/include/linux
Harry Yoo 458c3d3d5d mm: introduce and use {pgd,p4d}_populate_kernel()
commit f2d2f9598e upstream.

Introduce and use {pgd,p4d}_populate_kernel() in core MM code when
populating PGD and P4D entries for the kernel address space.  These
helpers ensure proper synchronization of page tables when updating the
kernel portion of top-level page tables.

Until now, the kernel has relied on each architecture to handle
synchronization of top-level page tables in an ad-hoc manner.  For
example, see commit 9b861528a8 ("x86-64, mem: Update all PGDs for direct
mapping and vmemmap mapping changes").

However, this approach has proven fragile for following reasons:

  1) It is easy to forget to perform the necessary page table
     synchronization when introducing new changes.
     For instance, commit 4917f55b4e ("mm/sparse-vmemmap: improve memory
     savings for compound devmaps") overlooked the need to synchronize
     page tables for the vmemmap area.

  2) It is also easy to overlook that the vmemmap and direct mapping areas
     must not be accessed before explicit page table synchronization.
     For example, commit 8d400913c2 ("x86/vmemmap: handle unpopulated
     sub-pmd ranges")) caused crashes by accessing the vmemmap area
     before calling sync_global_pgds().

To address this, as suggested by Dave Hansen, introduce _kernel() variants
of the page table population helpers, which invoke architecture-specific
hooks to properly synchronize page tables.  These are introduced in a new
header file, include/linux/pgalloc.h, so they can be called from common
code.

They reuse existing infrastructure for vmalloc and ioremap.
Synchronization requirements are determined by ARCH_PAGE_TABLE_SYNC_MASK,
and the actual synchronization is performed by
arch_sync_kernel_mappings().

This change currently targets only x86_64, so only PGD and P4D level
helpers are introduced.  Currently, these helpers are no-ops since no
architecture sets PGTBL_{PGD,P4D}_MODIFIED in ARCH_PAGE_TABLE_SYNC_MASK.

In theory, PUD and PMD level helpers can be added later if needed by other
architectures.  For now, 32-bit architectures (x86-32 and arm) only handle
PGTBL_PMD_MODIFIED, so p*d_populate_kernel() will never affect them unless
we introduce a PMD level helper.

[harry.yoo@oracle.com: fix KASAN build error due to p*d_populate_kernel()]
  Link: https://lkml.kernel.org/r/20250822020727.202749-1-harry.yoo@oracle.com
Link: https://lkml.kernel.org/r/20250818020206.4517-3-harry.yoo@oracle.com
Fixes: 8d400913c2 ("x86/vmemmap: handle unpopulated sub-pmd ranges")
Signed-off-by: Harry Yoo <harry.yoo@oracle.com>
Suggested-by: Dave Hansen <dave.hansen@linux.intel.com>
Acked-by: Kiryl Shutsemau <kas@kernel.org>
Reviewed-by: Mike Rapoport (Microsoft) <rppt@kernel.org>
Reviewed-by: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
Acked-by: David Hildenbrand <david@redhat.com>
Cc: Alexander Potapenko <glider@google.com>
Cc: Alistair Popple <apopple@nvidia.com>
Cc: Andrey Konovalov <andreyknvl@gmail.com>
Cc: Andrey Ryabinin <ryabinin.a.a@gmail.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>
Cc: Anshuman Khandual <anshuman.khandual@arm.com>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: bibo mao <maobibo@loongson.cn>
Cc: Borislav Betkov <bp@alien8.de>
Cc: Christoph Lameter (Ampere) <cl@gentwo.org>
Cc: Dennis Zhou <dennis@kernel.org>
Cc: Dev Jain <dev.jain@arm.com>
Cc: Dmitriy Vyukov <dvyukov@google.com>
Cc: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Jane Chu <jane.chu@oracle.com>
Cc: Joao Martins <joao.m.martins@oracle.com>
Cc: Joerg Roedel <joro@8bytes.org>
Cc: John Hubbard <jhubbard@nvidia.com>
Cc: Kevin Brodsky <kevin.brodsky@arm.com>
Cc: Liam Howlett <liam.howlett@oracle.com>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Oscar Salvador <osalvador@suse.de>
Cc: Peter Xu <peterx@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Qi Zheng <zhengqi.arch@bytedance.com>
Cc: Ryan Roberts <ryan.roberts@arm.com>
Cc: Suren Baghdasaryan <surenb@google.com>
Cc: Tejun Heo <tj@kernel.org>
Cc: Thomas Gleinxer <tglx@linutronix.de>
Cc: Thomas Huth <thuth@redhat.com>
Cc: "Uladzislau Rezki (Sony)" <urezki@gmail.com>
Cc: Vincenzo Frascino <vincenzo.frascino@arm.com>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-09-09 19:02:30 +02:00
..
amba
atomic
avf
bcma
bus
byteorder
can
cdx
ceph
clk
comedi
crush
decompress
device
dma
dsa
extcon
firmware firmware: qcom: scm: take struct device as argument in SHM bridge enable 2025-09-04 16:55:51 +02:00
fpga
framer
fsl
gpio
greybus
habanalabs
hsi
i3c i3c: fix module_i3c_i2c_driver() with I3C=n 2025-08-15 16:39:16 +02:00
iio
input
io_uring
irqchip irqchip/irq-msi-lib: Fix build with PCI disabled 2025-07-10 23:46:05 +02:00
isdn
lockd
lsm
mailbox
mdio
memory
mfd
misc
mlx4
mlx5 net/mlx5: Add IFC bits and enums for buf_ownership 2025-08-28 16:34:50 +02:00
mmc
mtd mtd: nand: qpic_common: prevent out of bounds access of BAM arrays 2025-06-29 22:10:47 +01:00
mux
net/intel
netfilter
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
pcs
pds
perf
phy
pinctrl
platform_data platform/x86: int3472: add hpd pin support 2025-09-04 16:55:32 +02:00
power
pse-pd
pwrseq
qat
qed
raid
regulator
remoteproc
reset
rpmsg
rtc
sched sched/task_stack: Add missing const qualifier to end_of_stack() 2025-08-15 16:38:24 +02:00
soc octeontx2: Set appropriate PF, VF masks and shifts based on silicon 2025-09-04 16:55:37 +02:00
soundwire
spi spi: Raise limit on number of chip selects to 24 2025-06-29 22:10:52 +01:00
ssb
sunrpc
surface_aggregator
ulpi
unaligned
usb net: usb: cdc-ncm: check for filtering capability 2025-08-20 18:41:06 +02:00
8250_pci.h
acct.h
acpi_amd_wbrf.h
acpi_dma.h
acpi_iort.h
acpi_mdio.h
acpi_pmtmr.h
acpi_viot.h
acpi.h ACPI: Return -ENODEV from acpi_parse_spcr() when SPCR support is disabled 2025-08-20 18:41:44 +02:00
adb.h
adfs_fs.h
adreno-smmu-priv.h
adxl.h
aer.h
agp_backend.h
agpgart.h
ahci_platform.h
ahci-remap.h
aio.h
alarmtimer.h
alcor_pci.h
align.h
alloc_tag.h
altera_jtaguart.h
altera_uart.h
amd-iommu.h
amd-pmf-io.h
anon_inodes.h
aperture.h
apm_bios.h
apm-emulation.h
apple-gmux.h
arch_topology.h
args.h
arm_ffa.h
arm_sdei.h
arm-cci.h
arm-smccc.h arm64: kvm, smccc: Fix vendor uuid 2025-07-21 18:18:51 +01:00
armada-37xx-rwtm-mailbox.h
array_size.h
ascii85.h
asn1_ber_bytecode.h
asn1_decoder.h
asn1_encoder.h
asn1.h
assoc_array_priv.h
assoc_array.h
async_tx.h
async.h
ata_platform.h
ata.h
atalk.h
atm_tcp.h
atm.h
atmdev.h atm: atmtcp: Prevent arbitrary write in atmtcp_recv_control(). 2025-09-04 16:55:36 +02:00
atmel_pdc.h
atmel-isc-media.h
atmel-ssc.h
atomic.h
attribute_container.h
audit_arch.h
audit.h audit,module: restore audit logging in load failure case 2025-08-15 16:38:20 +02:00
auto_dev-ioctl.h
auto_fs.h
auxiliary_bus.h
auxvec.h
average.h
backing-dev-defs.h
backing-dev.h
backing-file.h
backlight.h
badblocks.h
balloon_compaction.h
base64.h
bcd.h
bch.h
bcm47xx_nvram.h
bcm47xx_sprom.h
bcm47xx_wdt.h
bcm963xx_nvram.h
bcm963xx_tag.h
binfmts.h
bio-integrity.h
bio.h
bit_spinlock.h
bitfield.h
bitmap-str.h
bitmap.h
bitops.h
bitrev.h
bits.h
blk_types.h block: Make REQ_OP_ZONE_FINISH a write operation 2025-08-20 18:40:49 +02:00
blk-cgroup.h
blk-crypto-profile.h
blk-crypto.h
blk-integrity.h
blk-mq.h
blk-pm.h
blkdev.h block: avoid cpu_hotplug_lock depedency on freeze_lock 2025-08-28 16:34:50 +02:00
blkpg.h
blktrace_api.h
blockgroup_lock.h
bma150.h
bootconfig.h
bootmem_info.h
bottom_half.h
bpf_crypto.h
bpf_lirc.h
bpf_local_storage.h
bpf_lsm.h
bpf_mem_alloc.h
bpf_mprog.h
bpf_trace.h
bpf_types.h
bpf_verifier.h
bpf-cgroup-defs.h
bpf-cgroup.h bpf: Move cgroup iterator helpers to bpf.h 2025-08-15 16:39:14 +02:00
bpf-netns.h
bpf.h bpf: Fix oob access in cgroup local storage 2025-08-15 16:39:14 +02:00
bpfptr.h
brcmphy.h
bsearch.h
bsg-lib.h
bsg.h
btf_ids.h
btf.h
btree-128.h
btree-type.h
btree.h
btrfs.h
buffer_head.h
bug.h
build_bug.h
build-salt.h
buildid.h
bvec.h
c2port.h
cache.h
cacheflush.h
cacheinfo.h
call_once.h
capability.h
cb710.h
cc_platform.h
cciss_ioctl.h
ccp.h
cdev.h
cdrom.h
cfag12864b.h
cfi_types.h
cfi.h
cgroup_api.h
cgroup_dmem.h
cgroup_rdma.h
cgroup_refcnt.h
cgroup_subsys.h
cgroup-defs.h
cgroup.h
circ_buf.h
cleanup.h
clk-provider.h
clk.h
clkdev.h
clockchips.h
clocksource_ids.h
clocksource.h
closure.h
cma.h
cmpxchg-emu.h
cn_proc.h
cnt32_to_63.h
coda.h
codetag.h
compaction.h
compat.h
compiler_attributes.h
compiler_types.h
compiler-clang.h
compiler-gcc.h
compiler-version.h
compiler.h compiler: remove __ADDRESSABLE_ASM{_STR,}() again 2025-08-28 16:34:36 +02:00
completion.h
component.h
configfs.h
connector.h
console_struct.h
console.h
consolemap.h
const.h
container_of.h
container.h
context_tracking_irq.h
context_tracking_state.h
context_tracking.h
cookie.h
cordic.h
coredump.h
coresight-pmu.h
coresight-stm.h
coresight.h
count_zeros.h
counter.h
cper.h
cpu_cooling.h
cpu_pm.h
cpu_rmap.h
cpu_smt.h
cpu.h
cpufeature.h
cpufreq.h
cpuhotplug.h LoongArch: Add cpuhotplug hooks to fix high cpu usage of vCPU threads 2025-09-09 19:02:15 +02:00
cpuhplock.h
cpuidle_haltpoll.h
cpuidle.h
cpumask_api.h
cpumask_types.h
cpumask.h
cpuset.h
crash_core.h
crash_dump.h
crash_reserve.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: ahash - Add support for drivers with no fallback 2025-08-15 16:39:00 +02:00
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
debugobjects.h
delay.h
delayacct.h
delayed_call.h
dev_printk.h
devcoredump.h
devfreq_cooling.h
devfreq-event.h
devfreq.h
device_cgroup.h
device-mapper.h
device.h
devm-helpers.h
devpts_fs.h
dfl.h
digsig.h
dim.h
dio.h
dirent.h
dlm_plock.h
dlm.h
dm9000.h
dm-bufio.h
dm-dirty-log.h
dm-io.h
dm-kcopyd.h
dm-region-hash.h
dm-verity-loadpin.h
dma-buf.h
dma-direct.h
dma-direction.h
dma-fence-array.h
dma-fence-chain.h
dma-fence-unwrap.h
dma-fence.h
dma-heap.h
dma-map-ops.h of: reserved_mem: Restructure call site for dma_contiguous_early_fixup() 2025-09-04 16:55:32 +02:00
dma-mapping.h
dma-resv.h
dmaengine.h
dmapool.h
dmar.h
dmi.h
dnotify.h
dns_resolver.h
dpll.h
dqblk_qtree.h
dqblk_v1.h
dqblk_v2.h
drbd_config.h
drbd_genl_api.h
drbd_genl.h
drbd_limits.h
drbd.h
ds2782_battery.h
dtlk.h
dtpm.h
dw_apb_timer.h
dynamic_debug.h
dynamic_queue_limits.h
earlycpio.h
ecryptfs.h
edac.h
edd.h
eeprom_93cx6.h
efi_embedded_fw.h
efi-bgrt.h
efi.h
efs_vh.h
eisa.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
ethtool_netlink.h
ethtool.h
eventfd.h
eventpoll.h
evm.h
execmem.h
export-internal.h
export.h
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
fault-inject.h
fb.h
fbcon.h
fcdevice.h
fcntl.h
fd.h
fddidevice.h
fdtable.h
fec.h
fiemap.h
file_ref.h
file.h
fileattr.h
filelock.h
filter.h
find.h
fips.h
firewire.h
firmware-map.h
firmware.h
fixp-arith.h
flat.h
flex_proportions.h
folio_queue.h
font.h
fortify-string.h fortify: Fix incorrect reporting of read buffer size 2025-08-15 16:38:56 +02:00
fprobe.h
fpu.h
freezer.h
fs_api.h
fs_context.h fs_context: fix parameter name in infofc() macro 2025-08-15 16:38:21 +02:00
fs_parser.h
fs_pin.h
fs_stack.h
fs_struct.h
fs_types.h
fs.h vfs-6.16-rc5.fixes 2025-07-04 09:06:49 -07:00
fscache-cache.h
fscache.h
fscrypt.h
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_regs.h
ftrace.h
futex.h
fw_table.h
fwctl.h
fwnode_mdio.h
fwnode.h
gameport.h
gcd.h
genalloc.h
generic-radix-tree.h
genl_magic_func.h
genl_magic_struct.h
getcpu.h
gfp_api.h
gfp_types.h
gfp.h
glob.h
gnss.h
goldfish.h
gpio_keys.h
gpio-pxa.h
gpio.h
greybus.h
group_cpus.h
hardirq.h
hash.h
hashtable_api.h
hashtable.h
hdlc.h
hdlcdrv.h
hdmi.h
hex.h
hid_bpf.h
hid-debug.h
hid-over-i2c.h
hid-over-spi.h
hid-roccat.h
hid-sensor-hub.h
hid-sensor-ids.h
hid.h HID: rate-limit hid_warn to prevent log flooding 2025-08-20 18:41:26 +02:00
hidden.h
hiddev.h
hidraw.h
highmem-internal.h
highmem.h
highuid.h
hil_mlc.h
hil.h
hippidevice.h
hisi_acc_qm.h
hmm-dma.h
hmm.h
host1x_context_bus.h
host1x.h
hp_sdc.h
hpet.h
hrtimer_api.h
hrtimer_defs.h
hrtimer_types.h
hrtimer.h
hte.h
huge_mm.h
hugetlb_cgroup.h
hugetlb_inline.h
hugetlb.h
hung_task.h
hw_breakpoint.h
hw_random.h
hwmon-sysfs.h
hwmon-vid.h
hwmon.h
hwspinlock.h
hyperv.h
hypervisor.h PCI: Extend isolated function probing to LoongArch 2025-08-20 18:40:47 +02:00
i2c-algo-bit.h
i2c-algo-pca.h
i2c-algo-pcf.h
i2c-atr.h
i2c-dev.h
i2c-mux.h
i2c-of-prober.h
i2c-smbus.h
i2c.h
i8042.h
i8253.h
i8254.h
icmp.h
icmpv6.h
idle_inject.h
idr.h
ieee80211.h wifi: mac80211: correctly identify S1G short beacon 2025-07-07 10:42:15 +02:00
ieee802154.h
if_arp.h
if_bridge.h
if_eql.h
if_ether.h
if_fddi.h
if_hsr.h
if_link.h
if_macvlan.h
if_phonet.h
if_pppol2tp.h
if_pppox.h
if_rmnet.h
if_tap.h
if_team.h team: replace team lock with rtnl lock 2025-08-15 16:38:41 +02:00
if_tun.h
if_tunnel.h
if_vlan.h net: vlan: Replace BUG() with WARN_ON_ONCE() in vlan_dev_* stubs 2025-08-20 18:41:18 +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
init_ohci1394_dma.h
init_syscalls.h
init_task.h
init.h
initrd.h
inotify.h
input.h
instruction_pointer.h
instrumentation.h
instrumented.h
int_log.h
integrity.h
intel_rapl.h
intel_tcc.h
intel_th.h
intel_tpmi.h
intel_vsec.h
intel-ish-client-if.h
interconnect-clk.h
interconnect-provider.h
interconnect.h
interrupt.h
interval_tree_generic.h
interval_tree.h
io_uring_types.h io_uring/msg_ring: ensure io_kiocb freeing is deferred for RCU 2025-07-08 11:08:31 -06:00
io_uring.h
io-64-nonatomic-hi-lo.h
io-64-nonatomic-lo-hi.h
io-mapping.h
io-pgtable.h
io.h
ioam6_genl.h
ioam6_iptunnel.h
ioam6.h
iocontext.h
iomap.h
iommu-dma.h
iommu-helper.h
iommu.h
iommufd.h
iopoll.h
ioport.h
ioprio.h block: Fix default IO priority if there is no IO context 2025-08-15 16:39:24 +02:00
ioremap.h
iosys-map.h iosys-map: Fix undefined behavior in iosys_map_clear() 2025-08-28 16:34:43 +02:00
iov_iter.h iov_iter: iterate_folioq: fix handling of offset >= folio size 2025-08-28 16:34:34 +02:00
iova_bitmap.h
iova.h
ip.h
ipack.h
ipc_namespace.h
ipc.h
ipmi_smi.h
ipmi.h
ipv6_route.h
ipv6.h
irq_poll.h
irq_sim.h
irq_work.h
irq.h
irqbypass.h
irqchip.h
irqdesc.h
irqdomain_defs.h
irqdomain.h
irqflags_types.h
irqflags.h
irqhandler.h
irqnr.h
irqreturn.h
isa-dma.h
isa.h
isapnp.h
iscsi_boot_sysfs.h
iscsi_ibft.h
ism.h s390/ism: fix concurrency management in ism_cmd() 2025-07-24 10:57:26 +02:00
iversion.h
jbd2.h
jhash.h
jiffies.h
journal-head.h
joystick.h
jump_label_ratelimit.h
jump_label.h
jz4740-adc.h
jz4780-nemc.h
kallsyms.h
kasan-checks.h
kasan-enabled.h
kasan-tags.h
kasan.h
kbd_diacr.h
kbd_kern.h
kbuild.h
kconfig.h
kcore.h
kcov.h kcov, usb: Don't disable interrupts in kcov_remote_start_usb_softirq() 2025-08-28 16:34:40 +02:00
kcsan-checks.h
kcsan.h
kdb.h
kdebug.h
kdev_t.h
kern_levels.h
kernel_read_file.h
kernel_stat.h
kernel-page-flags.h
kernel.h
kernelcapi.h
kernfs.h
kexec_handover.h
kexec.h
key-type.h
key.h
keyboard.h
keyctl.h
kfence.h
kfifo.h
kgdb.h
khugepaged.h
klist.h
kmemleak.h
kmod.h
kmsan_string.h
kmsan_types.h
kmsan-checks.h
kmsan.h
kmsg_dump.h
kobj_map.h
kobject_api.h
kobject_ns.h
kobject.h
kprobes.h
kref_api.h
kref.h
ks0108.h
ks8842.h
ks8851_mll.h
ksm.h
kstrtox.h
kthread.h
ktime_api.h
ktime.h
kvm_dirty_ring.h
kvm_host.h
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-expresswire.h
leds-lp3944.h
leds-lp3952.h
leds-pca9532.h
leds-regulator.h
leds-ti-lmu-common.h
leds.h
libata.h ata: libata-sata: Add link_power_management_supported sysfs attribute 2025-08-20 18:41:43 +02:00
libfdt_env.h
libfdt.h
libgcc.h
libnvdimm.h
libps2.h
license.h
limits.h
linear_range.h
linkage.h
linkmode.h
linux_logo.h
lis3lv02d.h
list_bl.h
list_lru.h
list_nulls.h
list_sort.h
list.h
litex.h
livepatch_sched.h
livepatch.h
llc.h
llist_api.h
llist.h
local_lock_internal.h
local_lock.h
lockdep_api.h
lockdep_types.h
lockdep.h
lockref.h
log2.h
logic_iomem.h
logic_pio.h
lp.h
lru_cache.h
lsm_audit.h
lsm_count.h
lsm_hook_defs.h
lsm_hooks.h
lwq.h
lz4.h
lzo.h
mailbox_client.h
mailbox_controller.h
map_benchmark.h
maple_tree.h
maple.h
marvell_phy.h
math64.h
math.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_aux.h
mei_cl_bus.h
mem_encrypt.h
memblock.h
memcontrol.h
memfd.h
memory_hotplug.h
memory-tiers.h mm/memory-tier: fix abstract distance calculation overflow 2025-08-20 18:40:49 +02:00
memory.h
mempolicy.h
mempool.h
memregion.h
memremap.h
memstick.h
mhi_ep.h
mhi.h
micrel_phy.h
microchipphy.h
migrate_mode.h
migrate.h
mii_timestamper.h
mii.h
min_heap.h
minmax.h
misc_cgroup.h
miscdevice.h
mISDNdsp.h
mISDNhw.h
mISDNif.h
mm_api.h
mm_inline.h
mm_types_task.h
mm_types.h
mm.h mm: fix the inaccurate memory statistics issue for users 2025-07-09 21:07:55 -07:00
mman.h
mmap_lock.h mm: fix a UAF when vma->mm is freed after vma->vm_refcnt got dropped 2025-08-15 16:39:36 +02:00
mmdebug.h
mmiotrace.h
mmu_context.h
mmu_notifier.h
mmzone.h
mnt_idmapping.h
mnt_namespace.h
mod_devicetable.h
module_signature.h
module_symbol.h
module.h
moduleloader.h
moduleparam.h module: Restore the moduleparam prefix length check 2025-08-15 16:39:16 +02:00
most.h
mount.h
moxtet.h
mpage.h
mpi.h
mpls_iptunnel.h
mpls.h
mroute6.h
mroute_base.h
mroute.h
msdos_fs.h
msdos_partition.h
msg.h
msi_api.h
msi.h
mtio.h
mutex_api.h
mutex_types.h
mutex.h
mv643xx_eth.h
mv643xx_i2c.h
mvebu-pmsu.h
mxm-wmi.h
namei.h
nd.h
ndctl.h
net_tstamp.h
net.h
netdev_features.h
netdevice_xmit.h
netdevice.h
netfilter_bridge.h
netfilter_defs.h
netfilter_ipv4.h
netfilter_ipv6.h
netfilter_netdev.h
netfilter.h
netfs.h netfs: Fix unbuffered write error handling 2025-08-28 16:34:13 +02:00
netlink.h
netpoll.h
nfs3.h
nfs4.h
nfs_common.h
nfs_fs_i.h
nfs_fs_sb.h
nfs_fs.h
nfs_iostat.h
nfs_page.h NFS: Fix a race when updating an existing write 2025-08-28 16:34:35 +02:00
nfs_ssc.h
nfs_xdr.h
nfs.h
nfsacl.h
nfslocalio.h
nitro_enclaves.h
nl802154.h
nls.h
nmi.h
node.h
nodemask_types.h
nodemask.h
nospec.h
notifier.h
ns_common.h
nsc_gpio.h
nsproxy.h
ntb_transport.h
ntb.h
nubus.h
numa_memblks.h
numa.h
nvme-auth.h
nvme-fc-driver.h
nvme-fc.h
nvme-keyring.h
nvme-rdma.h
nvme-tcp.h
nvme.h
nvmem-consumer.h
nvmem-provider.h
nvram.h
oa_tc6.h
objagg.h
objpool.h
objtool_types.h
objtool.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
oid_registry.h
olpc-ec.h
omap-dma.h
omap-gpmc.h
omap-iommu.h
omap-mailbox.h
omapfb.h
once_lite.h
once.h
oom.h
openvswitch.h
osq_lock.h
overflow.h
packing.h lib: packing: Include necessary headers 2025-08-20 18:41:15 +02:00
padata.h padata: Remove comment for reorder_work 2025-08-15 16:39:21 +02:00
page_counter.h
page_ext.h
page_frag_cache.h
page_idle.h
page_owner.h
page_ref.h
page_reporting.h
page_table_check.h
page-flags-layout.h
page-flags.h
page-isolation.h
pageblock-flags.h
pagemap.h
pagevec.h
pagewalk.h
panic_notifier.h
panic.h
papr_scm.h
parman.h
parport_pc.h
parport.h
parser.h
part_stat.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-bwctrl.h
pci-doe.h
pci-ecam.h
pci-ep-cfs.h
pci-epc.h
pci-epf.h
pci-p2pdma.h
pci-pwrctrl.h
pci-tph.h
pci.h PCI/ACPI: Fix runtime PM ref imbalance on Hot-Plug Capable ports 2025-08-20 18:40:48 +02:00
pcie-dwc.h
pcs-lynx.h
pcs-rzn1-miic.h
pe.h
peci-cpu.h
peci.h
percpu_counter.h
percpu-defs.h
percpu-refcount.h
percpu-rwsem.h
percpu.h
perf_event_api.h
perf_event.h
perf_regs.h
personality.h
pfn_t.h
pfn.h
pgalloc_tag.h
pgalloc.h mm: introduce and use {pgd,p4d}_populate_kernel() 2025-09-09 19:02:30 +02:00
pgtable_api.h
pgtable.h mm: introduce and use {pgd,p4d}_populate_kernel() 2025-09-09 19:02:30 +02:00
phonet.h
phy_fixed.h
phy_led_triggers.h
phy_link_topology.h
phy.h
phylib_stubs.h
phylink.h
pid_namespace.h
pid_types.h
pid.h
pidfs.h
pim.h
pipe_fs_i.h
pkeys.h
pktcdvd.h
pl320-ipc.h
platform_device.h
platform_profile.h
pldmfw.h
plist_types.h
plist.h
pm_clock.h
pm_domain.h
pm_opp.h
pm_qos.h
pm_runtime.h
pm_wakeirq.h
pm_wakeup.h
pm-trace.h
pm.h
pmbus.h
pmu.h
pnp.h
poison.h
poll.h
polynomial.h
posix_acl_xattr.h
posix_acl.h
posix-clock.h
posix-timers_types.h
posix-timers.h
power_supply.h power: supply: core: Add power_supply_get/set_property_direct() 2025-07-07 15:19:46 +03:00
powercap.h
ppp_channel.h
ppp_defs.h
ppp-comp.h
pps_gen_kernel.h
pps_kernel.h pps: fix poll support 2025-08-15 16:38:30 +02:00
pr.h
prandom.h
preempt.h
prefetch.h
prime_numbers.h
printk.h
prmt.h
proc_fs.h proc: use the same treatment to check proc_lseek as ones for proc_read_iter et.al 2025-08-15 16:39:06 +02:00
proc_ns.h
processor.h
profile.h
projid.h
property.h
pruss_driver.h
psci.h
pseudo_fs.h
psi_types.h sched/psi: Optimize psi_group_change() cpu_clock() usage 2025-08-15 16:38:44 +02:00
psi.h
psp-platform-access.h
psp-sev.h
psp-tee.h
psp.h
pstore_blk.h
pstore_ram.h
pstore_zone.h
pstore.h
ptdump.h
pti.h
ptp_classify.h
ptp_clock_kernel.h
ptp_kvm.h
ptp_mock.h
ptp_pch.h
ptr_ring.h
ptrace_api.h
ptrace.h
purgatory.h
pvclock_gtod.h
pwm_backlight.h
pwm.h
pxa2xx_ssp.h
pxa168_eth.h
qnx6_fs.h
quota.h
quotaops.h
radix-tree.h
raid_class.h
ramfs.h
random.h
randomize_kstack.h
range.h
ras.h
ratelimit_types.h
ratelimit.h
rational.h
rbtree_augmented.h
rbtree_latch.h
rbtree_types.h
rbtree.h
rcu_node_tree.h
rcu_notifier.h
rcu_segcblist.h
rcu_sync.h
rculist_bl.h
rculist_nulls.h
rculist.h
rcupdate_trace.h
rcupdate_wait.h
rcupdate.h
rcuref.h
rcutiny.h
rcutree.h
rcuwait_api.h
rcuwait.h
reboot-mode.h
reboot.h
reciprocal_div.h
ref_tracker.h
refcount_api.h
refcount_types.h
refcount.h
regmap.h
regset.h
relay.h
remoteproc.h
resctrl_types.h
resctrl.h
reset-controller.h
reset.h
resource_ext.h
resource.h
restart_block.h
resume_user_mode.h
rethook.h
rfkill.h
rhashtable-types.h
rhashtable.h
ring_buffer.h ring-buffer: Remove ring_buffer_read_prepare_sync() 2025-08-15 16:38:50 +02:00
rio_drv.h
rio_ids.h
rio_regs.h
rio.h
rmap.h
rmi.h
rndis.h
rodata_test.h
rolling_buffer.h
root_dev.h
rpmb.h
rpmsg.h
rseq.h
rslib.h
rtc.h
rtmutex.h
rtnetlink.h
rtsx_common.h
rtsx_pci.h
rtsx_usb.h
rv.h
rw_hint.h
rwbase_rt.h
rwlock_api_smp.h
rwlock_rt.h
rwlock_types.h
rwlock.h
rwsem.h
sbitmap.h lib/sbitmap: convert shallow_depth from one word to the whole sbitmap 2025-08-20 18:41:31 +02:00
scatterlist.h
scc.h
sched_clock.h
sched.h Revert "sched/numa: add statistics of numa balance task" 2025-07-09 21:07:56 -07:00
scmi_imx_protocol.h
scmi_protocol.h
scpi_protocol.h
screen_info.h
scs.h
sctp.h
scx200_gpio.h
scx200.h
seccomp_types.h
seccomp.h
secretmem.h
securebits.h
security.h
sed-opal-key.h
sed-opal.h
seg6_genl.h
seg6_hmac.h
seg6_iptunnel.h
seg6_local.h
seg6.h
selection.h
sem_types.h
sem.h
semaphore.h
seq_buf.h
seq_file_net.h
seq_file.h
seqlock_api.h
seqlock_types.h
seqlock.h
serdev.h
serial_8250.h
serial_bcm63xx.h
serial_core.h
serial_s3c.h
serial_sci.h
serial.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_types.h
signal.h
signalfd.h
siox.h
siphash.h
sizes.h
skb_array.h
skbuff_ref.h
skbuff.h netmem: fix skb_frag_address_safe with unreadable skbs 2025-08-20 18:41:17 +02:00
skmsg.h
slab.h
slimbus.h
sm501-regs.h
sm501.h
smc91x.h
smp_types.h
smp.h
smpboot.h
smsc911x.h
smscphy.h
sock_diag.h
socket.h
sockptr.h
softirq.h
sonet.h
sonypi.h
sort.h
sound.h
soundcard.h
spinlock_api_smp.h
spinlock_api_up.h
spinlock_api.h
spinlock_rt.h
spinlock_types_raw.h
spinlock_types_up.h
spinlock_types.h
spinlock_up.h
spinlock.h
splice.h
spmi.h
sprintf.h sprintf.h requires stdarg.h 2025-07-24 17:58:00 -07:00
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_types.h
static_call.h
static_key.h
stdarg.h
stddef.h
stm.h
stmmac.h
stmp3xxx_rtc_wdt.h
stmp_device.h
stop_machine.h
string_choices.h
string_helpers.h
string.h
stringhash.h
stringify.h
sungem_phy.h
sunserialcore.h
sunxi-rsb.h
surface_acpi_notify.h
suspend.h
svga.h
sw842.h
swab.h
swait_api.h
swait.h
swap_cgroup.h
swap.h
swapfile.h
swapops.h
swiotlb.h
switchtec.h
sxgbe_platform.h
sync_core.h
sync_file.h
synclink.h
sys_soc.h
sys.h
syscall_user_dispatch_types.h
syscall_user_dispatch.h
syscalls_api.h
syscalls.h
syscore_ops.h
sysctl.h
sysfb.h
sysfs.h
syslog.h
sysrq.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
tee_core.h
tee_drv.h
tegra-icc.h
termios_internal.h
text-patching.h
textsearch_fsm.h
textsearch.h
thermal.h
thread_info.h
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_namespace.h
time.h
timecounter.h
timekeeper_internal.h
timekeeping.h
timer_types.h
timer.h
timerfd.h
timeriomem-rng.h
timerqueue_types.h
timerqueue.h
timex.h
tnum.h
topology.h
torture.h
toshiba.h
tpm_command.h
tpm_eventlog.h
tpm_svsm.h
tpm.h
trace_clock.h
trace_events.h
trace_recursion.h
trace_seq.h
trace.h
tracefs.h
tracepoint-defs.h
tracepoint.h
transport_class.h
ts-nbus.h
tsacct_kern.h
tsm-mr.h
tsm.h
tty_buffer.h
tty_driver.h
tty_flip.h
tty_ldisc.h
tty_port.h
tty.h
turris-omnia-mcu-interface.h
turris-signing-key.h
typecheck.h
types.h
u64_stats_sync_api.h
u64_stats_sync.h
uacce.h
uaccess.h
ubsan.h
ucopysize.h
ucs2_string.h
udp.h
uidgid_types.h
uidgid.h
uio_driver.h
uio.h
umh.h
unaligned.h
unicode.h
union_find.h
units.h
unroll.h
uprobes.h
usb_usual.h
usb.h
usbdevice_fs.h
user_events.h
user_namespace.h
user-return-notifier.h
user.h
userfaultfd_k.h
usermode_driver.h
util_macros.h
uts.h
utsname.h
uuid.h
vbox_utils.h
vdpa.h
vdso_datastore.h
verification.h
vermagic.h
vexpress.h
vfio_pci_core.h vfio/pci: Do vf_token checks for VFIO_DEVICE_BIND_IOMMUFD 2025-08-15 16:39:21 +02:00
vfio.h vfio/pci: Do vf_token checks for VFIO_DEVICE_BIND_IOMMUFD 2025-08-15 16:39:21 +02:00
vfs.h
vfsdebug.h
vga_switcheroo.h
vgaarb.h
vhost_iotlb.h
via_i2c.h
via-core.h
via.h
videodev2.h
virtio_anchor.h
virtio_byteorder.h
virtio_caif.h
virtio_config.h Revert "virtio: reject shm region if length is zero" 2025-09-04 16:55:30 +02:00
virtio_dma_buf.h
virtio_net.h
virtio_pci_admin.h
virtio_pci_legacy.h
virtio_pci_modern.h
virtio_ring.h
virtio_vsock.h vsock/virtio: Resize receive buffers so that each SKB fits in a 4K page 2025-08-20 18:41:21 +02:00
virtio.h
vm_event_item.h Revert "sched/numa: add statistics of numa balance task" 2025-07-09 21:07:56 -07:00
vmalloc.h mm: move page table sync declarations to linux/pgtable.h 2025-09-09 19:02:29 +02:00
vmcore_info.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.h
wait_api.h
wait_bit.h
wait.h
watch_queue.h
watchdog.h
win_minmax.h
wireless.h
wkup_m3_ipc.h
wm97xx.h
wmi.h
wordpart.h
workqueue_api.h
workqueue_types.h
workqueue.h
writeback.h
ww_mutex.h
wwan.h
xarray.h
xattr.h
xxhash.h
xz.h
yam.h
zconf.h
zlib.h
zorro.h
zpool.h
zsmalloc.h
zstd_errors.h
zstd_lib.h
zstd.h
zswap.h
zutil.h