linux-imx/include/linux
Aleksa Sarai 9876cfe8ec memfd: replace ratcheting feature from vm.memfd_noexec with hierarchy
This sysctl has the very unusual behaviour of not allowing any user (even
CAP_SYS_ADMIN) to reduce the restriction setting, meaning that if you were
to set this sysctl to a more restrictive option in the host pidns you
would need to reboot your machine in order to reset it.

The justification given in [1] is that this is a security feature and thus
it should not be possible to disable.  Aside from the fact that we have
plenty of security-related sysctls that can be disabled after being
enabled (fs.protected_symlinks for instance), the protection provided by
the sysctl is to stop users from being able to create a binary and then
execute it.  A user with CAP_SYS_ADMIN can trivially do this without
memfd_create(2):

  % cat mount-memfd.c
  #include <fcntl.h>
  #include <string.h>
  #include <stdio.h>
  #include <stdlib.h>
  #include <unistd.h>
  #include <linux/mount.h>

  #define SHELLCODE "#!/bin/echo this file was executed from this totally private tmpfs:"

  int main(void)
  {
  	int fsfd = fsopen("tmpfs", FSOPEN_CLOEXEC);
  	assert(fsfd >= 0);
  	assert(!fsconfig(fsfd, FSCONFIG_CMD_CREATE, NULL, NULL, 2));

  	int dfd = fsmount(fsfd, FSMOUNT_CLOEXEC, 0);
  	assert(dfd >= 0);

  	int execfd = openat(dfd, "exe", O_CREAT | O_RDWR | O_CLOEXEC, 0782);
  	assert(execfd >= 0);
  	assert(write(execfd, SHELLCODE, strlen(SHELLCODE)) == strlen(SHELLCODE));
  	assert(!close(execfd));

  	char *execpath = NULL;
  	char *argv[] = { "bad-exe", NULL }, *envp[] = { NULL };
  	execfd = openat(dfd, "exe", O_PATH | O_CLOEXEC);
  	assert(execfd >= 0);
  	assert(asprintf(&execpath, "/proc/self/fd/%d", execfd) > 0);
  	assert(!execve(execpath, argv, envp));
  }
  % ./mount-memfd
  this file was executed from this totally private tmpfs: /proc/self/fd/5
  %

Given that it is possible for CAP_SYS_ADMIN users to create executable
binaries without memfd_create(2) and without touching the host filesystem
(not to mention the many other things a CAP_SYS_ADMIN process would be
able to do that would be equivalent or worse), it seems strange to cause a
fair amount of headache to admins when there doesn't appear to be an
actual security benefit to blocking this.  There appear to be concerns
about confused-deputy-esque attacks[2] but a confused deputy that can
write to arbitrary sysctls is a bigger security issue than executable
memfds.

/* New API */

The primary requirement from the original author appears to be more based
on the need to be able to restrict an entire system in a hierarchical
manner[3], such that child namespaces cannot re-enable executable memfds.

So, implement that behaviour explicitly -- the vm.memfd_noexec scope is
evaluated up the pidns tree to &init_pid_ns and you have the most
restrictive value applied to you.  The new lower limit you can set
vm.memfd_noexec is whatever limit applies to your parent.

Note that a pidns will inherit a copy of the parent pidns's effective
vm.memfd_noexec setting at unshare() time.  This matches the existing
behaviour, and it also ensures that a pidns will never have its
vm.memfd_noexec setting *lowered* behind its back (but it will be raised
if the parent raises theirs).

/* Backwards Compatibility */

As the previous version of the sysctl didn't allow you to lower the
setting at all, there are no backwards compatibility issues with this
aspect of the change.

However it should be noted that now that the setting is completely
hierarchical.  Previously, a cloned pidns would just copy the current
pidns setting, meaning that if the parent's vm.memfd_noexec was changed it
wouldn't propoagate to existing pid namespaces.  Now, the restriction
applies recursively.  This is a uAPI change, however:

 * The sysctl is very new, having been merged in 6.3.
 * Several aspects of the sysctl were broken up until this patchset and
   the other patchset by Jeff Xu last month.

And thus it seems incredibly unlikely that any real users would run into
this issue. In the worst case, if this causes userspace isues we could
make it so that modifying the setting follows the hierarchical rules but
the restriction checking uses the cached copy.

[1]: https://lore.kernel.org/CABi2SkWnAgHK1i6iqSqPMYuNEhtHBkO8jUuCvmG3RmUB5TKHJw@mail.gmail.com/
[2]: https://lore.kernel.org/CALmYWFs_dNCzw_pW1yRAo4bGCPEtykroEQaowNULp7svwMLjOg@mail.gmail.com/
[3]: https://lore.kernel.org/CALmYWFuahdUF7cT4cm7_TGLqPanuHXJ-hVSfZt7vpTnc18DPrw@mail.gmail.com/

Link: https://lkml.kernel.org/r/20230814-memfd-vm-noexec-uapi-fixes-v2-4-7ff9e3e10ba6@cyphar.com
Fixes: 105ff5339f ("mm/memfd: add MFD_NOEXEC_SEAL and MFD_EXEC")
Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
Cc: Dominique Martinet <asmadeus@codewreck.org>
Cc: Christian Brauner <brauner@kernel.org>
Cc: Daniel Verkamp <dverkamp@chromium.org>
Cc: Jeff Xu <jeffxu@google.com>
Cc: Kees Cook <keescook@chromium.org>
Cc: Shuah Khan <shuah@kernel.org>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2023-08-21 13:37:59 -07:00
..
amba
atomic
avf
bcma
byteorder
can
cdx
ceph
clk
comedi
crush
decompress
device
dma
dsa net: dsa: sja1105: always enable the send_meta options 2023-07-04 19:42:27 +01:00
extcon
firmware
fpga
fsl
gpio gpio updates for v6.5 2023-06-29 10:11:10 -07:00
greybus
hsi
i3c
iio Char/Misc and other driver subsystem updates for 6.5-rc1 2023-07-03 12:46:47 -07:00
input
irqchip
isdn
lockd
mailbox
mdio
mfd - New Drivers 2023-07-03 10:55:04 -07:00
mlx4
mlx5 v6.5 merge window RDMA pull request 2023-06-29 21:01:17 -07:00
mmc Networking changes for 6.5. 2023-06-28 16:43:10 -07:00
mtd
mux
net/intel
netfilter
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
pcs
pds
perf
phy
pinctrl
platform_data dmaengine updates for v6.5 2023-07-06 09:48:31 -07:00
power
pse-pd
qed
raid
regulator
remoteproc
reset
rpmsg
rtc
sched Scope-based Resource Management infrastructure 2023-07-04 13:50:38 -07:00
soc ARM: SoC changes for 6.5 2023-06-29 15:28:33 -07:00
soundwire
spi gpio updates for v6.5 2023-06-29 10:11:10 -07:00
ssb
sunrpc NFS client updates for Linux 6.5 2023-07-01 14:38:25 -07:00
surface_aggregator
ulpi
unaligned
usb USB / Thunderbolt driver updates for 6.5-rc1 2023-07-03 13:23:10 -07:00
8250_pci.h
acct.h
acpi_dma.h
acpi_iort.h
acpi_mdio.h
acpi_pmtmr.h
acpi_viot.h
acpi.h More ACPI updates for 6.5-rc1 2023-07-06 22:25:06 -07: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
altera_jtaguart.h
altera_uart.h
amd-iommu.h
amd-pstate.h
anon_inodes.h
aperture.h
apm_bios.h
apm-emulation.h
apple-gmux.h
apple-mailbox.h
arch_topology.h
arm_ffa.h KVM/arm64 updates for 6.5 2023-07-01 07:04:29 -04:00
arm_sdei.h
arm-cci.h
arm-smccc.h
armada-37xx-rwtm-mailbox.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
ath9k_platform.h
atm_tcp.h
atm.h
atmdev.h
atmel_pdc.h
atmel-isc-media.h
atmel-mci.h
atmel-ssc.h
atomic.h
attribute_container.h
audit_arch.h
audit.h
auto_dev-ioctl.h
auto_fs.h
auxiliary_bus.h
auxvec.h
average.h
backing-dev-defs.h
backing-dev.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.h mm/page_io: introduce bio_first_folio_all() 2023-08-18 10:12:45 -07:00
bit_spinlock.h
bitfield.h
bitmap.h
bitops.h
bitrev.h
bits.h
blk_types.h SCSI misc on 20230629 2023-06-30 11:57:07 -07:00
blk-cgroup.h
blk-crypto-profile.h blk-crypto: use dynamic lock class for blk_crypto_profile::lock 2023-07-05 16:36:12 -06:00
blk-crypto.h
blk-integrity.h
blk-mq-pci.h
blk-mq-virtio.h
blk-mq.h blk-mq: delete dead struct blk_mq_hw_ctx->queued field 2023-07-20 13:29:25 -06:00
blk-pm.h
blkdev.h
blkpg.h
blktrace_api.h
blockgroup_lock.h
bma150.h
bootconfig.h
bootmem_info.h bootmem: remove the vmemmap pages from kmemleak in free_bootmem_page 2023-07-08 09:29:31 -07:00
bottom_half.h
bpf_lirc.h
bpf_local_storage.h
bpf_lsm.h
bpf_mem_alloc.h
bpf_trace.h
bpf_types.h
bpf_verifier.h
bpf-cgroup-defs.h
bpf-cgroup.h
bpf-netns.h
bpf.h
bpfilter.h
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 buffer: remove set_bh_page() 2023-08-18 10:12:31 -07:00
bug.h
build_bug.h
build-salt.h
buildid.h
bvec.h
c2port.h
cache.h
cacheflush.h
cacheinfo.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_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
cma.h
cn_proc.h
cnt32_to_63.h
coda.h
compaction.h
compat.h
compiler_attributes.h Scope-based Resource Management infrastructure 2023-07-04 13:50:38 -07:00
compiler_types.h
compiler-clang.h
compiler-gcc.h
compiler-version.h
compiler.h
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.h
cpufeature.h
cpufreq.h
cpuhotplug.h
cpuidle_haltpoll.h
cpuidle.h
cpumask_api.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
cs5535.h
ctype.h
cuda.h
damon.h mm/damon/core: implement target type damos filter 2023-08-21 13:37:37 -07:00
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 Scope-based Resource Management infrastructure 2023-07-04 13:50:38 -07:00
devm-helpers.h
devpts_fs.h
dfl.h
digsig.h
dim.h
dio.h
dirent.h
dlm_plock.h
dlm.h
dm-bufio.h
dm-dirty-log.h
dm-io.h
dm-kcopyd.h
dm-region-hash.h
dm-verity-loadpin.h
dm9000.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-buf: keep the signaling time of merged fences v3 2023-07-03 13:47:06 +02:00
dma-heap.h
dma-map-ops.h
dma-mapping.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_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
eeprom_93xx46.h
efi_embedded_fw.h
efi-bgrt.h
efi.h EFI updates for v6.5 2023-06-30 21:35:52 -07:00
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
export-internal.h
export.h
exportfs.h
ext2_fs.h
extable.h
extcon-provider.h
extcon.h
f2fs_fs.h f2fs: fix to do sanity check on direct node in truncate_dnode() 2023-06-30 16:38:27 -07:00
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.h
fileattr.h
filelock.h
filter.h
find.h
fips.h
firewire.h firewire updates for 6.5-rc1 2023-07-04 11:02:34 -07:00
firmware-map.h
firmware.h
fixp-arith.h
flat.h
flex_proportions.h
font.h
fortify-string.h
fprobe.h
freelist.h
freezer.h
fs_api.h
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
fs.h fs/address_space: add alignment padding for i_map and i_mmap_rwsem to mitigate a false sharing. 2023-08-18 10:12:38 -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.h ftrace: Remove unused extern declarations 2023-07-28 20:01:36 -04:00
futex.h
fwnode_mdio.h
fwnode.h
gameport.h
gcd.h
genalloc.h
generic-radix-tree.h
genetlink.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-roccat.h
hid-sensor-hub.h
hid-sensor-ids.h
hid.h
hidden.h
hiddev.h
hidraw.h
highmem-internal.h
highmem.h highmem: add memcpy_to_folio() and memcpy_from_folio() 2023-08-18 10:12:29 -07:00
highuid.h
hil_mlc.h
hil.h
hippidevice.h
hisi_acc_qm.h
hmm.h
host1x_context_bus.h
host1x.h
hp_sdc.h
hpet.h
hrtimer_api.h
hrtimer_defs.h
hrtimer.h
hte.h
huge_mm.h
hugetlb_cgroup.h
hugetlb_inline.h
hugetlb.h mm/hugetlb: get rid of page_hstate() 2023-08-18 10:12:39 -07:00
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
i8254.h
icmp.h
icmpv6.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_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_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
integrity.h
intel_rapl.h
intel_tcc.h
intel_th.h
intel_tpmi.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.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-helper.h
iommu.h
iommufd.h
iopoll.h
ioport.h
ioprio.h
ioremap.h mm: move is_ioremap_addr() into new header file 2023-08-18 10:12:35 -07:00
iosys-map.h
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.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 and simplify add()/remove() callback handling 2023-07-08 10:07:14 +01:00
iversion.h
jbd2.h jbd2: fix a race when checking checkpoint buffer busy 2023-07-10 23:09:21 -04: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
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
kcsan-checks.h
kcsan.h
kdb.h kdb: move kdb_send_sig() declaration to a better header file 2023-07-03 09:27:12 +01:00
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.h
key-type.h
key.h
keyboard.h
keyctl.h
kfence.h mm: kfence: allocate kfence_metadata at runtime 2023-08-18 10:12:39 -07:00
kfifo.h
kgdb.h kgdb: Provide a stub kgdb_nmicallback() if !CONFIG_KGDB 2023-06-29 15:06:32 +01:00
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 ksm: add ksm zero pages for each process 2023-08-18 10:12:10 -07:00
kstrtox.h
kthread.h
ktime_api.h
ktime.h
kvm_dirty_ring.h
kvm_host.h KVM VMX changes for 6.5: 2023-07-01 07:20:04 -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 - New Drivers 2023-07-03 11:26:05 -07:00
libata.h SCSI misc on 20230629 2023-06-30 11:57:07 -07: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_hook_defs.h
lsm_hooks.h
lz4.h
lzo.h
mailbox_client.h
mailbox_controller.h
map_benchmark.h
maple_tree.h maple_tree: re-introduce entry to mas_preallocate() arguments 2023-08-18 10:12:48 -07:00
maple.h
marvell_phy.h
math.h
math64.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 mm: memtest: convert to memtest_report_meminfo() 2023-08-21 13:37:47 -07:00
memcontrol.h mm/memcg: update obsolete comment above parent_mem_cgroup() 2023-08-21 13:37:32 -07:00
memfd.h
memory_hotplug.h mm/memory_hotplug: allow memmap on memory hotplug request to fallback 2023-08-21 13:37:48 -07:00
memory-tiers.h memory tier: rename destroy_memory_type() to put_memory_type() 2023-08-18 10:12:11 -07:00
memory.h mm/memory_hotplug: embed vmem_altmap details in memory block 2023-08-21 13:37:49 -07:00
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-make-pte_marker_swapin_error-more-general-fix 2023-08-18 10:12:16 -07:00
mm_types_task.h mm/tlbbatch: rename and extend some functions 2023-08-18 10:12:36 -07:00
mm_types.h mm: remove page table members from struct page 2023-08-21 13:37:55 -07:00
mm.h mm: remove pgtable_{pmd, pte}_page_{ctor, dtor}() wrappers 2023-08-21 13:37:58 -07:00
mman.h
mmap_lock.h mm: don't drop VMA locks in mm_drop_all_locks() 2023-08-18 10:12:46 -07:00
mmdebug.h
mmiotrace.h
mmu_context.h
mmu_notifier.h mmu_notifiers: rename invalidate_range notifier 2023-08-18 10:12:41 -07:00
mmzone.h mm: remove obsolete comment above struct per_cpu_pages 2023-08-18 10:12:12 -07:00
mnt_idmapping.h
mnt_namespace.h
mod_devicetable.h driver core changes for 6.5-rc1 2023-07-03 12:56:23 -07:00
module_signature.h
module_symbol.h
module.h
moduleloader.h
moduleparam.h
most.h
mount.h
moxtet.h
mpage.h
mpi.h
mpls_iptunnel.h
mpls.h
mroute_base.h
mroute.h
mroute6.h
msdos_fs.h
msdos_partition.h
msg.h
msi_api.h
msi.h
mtio.h
mutex_api.h
mutex.h
mv643xx_eth.h
mv643xx_i2c.h
mv643xx.h
mvebu-pmsu.h
mxm-wmi.h
namei.h
nd.h
ndctl.h
net_tstamp.h
net.h
netdev_features.h
netdevice.h
netfilter_bridge.h
netfilter_defs.h
netfilter_ipv4.h
netfilter_ipv6.h
netfilter_netdev.h
netfilter.h
netfs.h
netlink.h
netpoll.h
nfs_fs_i.h
nfs_fs_sb.h
nfs_fs.h
nfs_iostat.h
nfs_page.h
nfs_ssc.h
nfs_xdr.h
nfs.h
nfs3.h
nfs4.h
nfsacl.h
nitro_enclaves.h
nl802154.h
nls.h fs/nls: make load_nls() take a const parameter 2023-07-25 00:30:02 -05:00
nmi.h
node.h
nodemask.h
nospec.h
notifier.h
ns_common.h
nsc_gpio.h
nsproxy.h
ntb_transport.h
ntb.h
nubus.h
numa.h
nvme-auth.h
nvme-fc-driver.h
nvme-fc.h
nvme-rdma.h
nvme-tcp.h
nvme.h nvme: fix the NVME_ID_NS_NVM_STS_MASK definition 2023-07-10 09:12:31 -07:00
nvmem-consumer.h
nvmem-provider.h
nvram.h
objagg.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
padata.h
page_counter.h
page_ext.h mm/page_ext: move page_ext_operations definition under CONFIG_PAGE_EXTENSION 2023-08-21 13:37:31 -07:00
page_idle.h mm: remove clear_page_idle() 2023-08-18 10:12:25 -07:00
page_owner.h
page_ref.h
page_reporting.h
page_table_check.h mm/page_table_check: remove unused parameter in [__]page_table_check_pud_set 2023-08-18 10:12:29 -07:00
page-flags-layout.h
page-flags.h mm: add PAGE_TYPE_OP folio functions 2023-08-21 13:37:51 -07:00
page-isolation.h
pageblock-flags.h
pagemap.h mm, netfs, fscache: stop read optimisation when folio removed from pagecache 2023-08-18 10:12:13 -07:00
pagevec.h
pagewalk.h
panic_notifier.h
panic.h
parman.h
parport_pc.h
parport.h Char/Misc and other driver subsystem updates for 6.5-rc1 2023-07-03 12:46:47 -07:00
parser.h
part_stat.h
pata_arasan_cf_data.h
patchkey.h
path.h
pch_dma.h
pci_hotplug.h
pci_ids.h pci-v6.5-changes 2023-06-30 15:06:45 -07:00
pci-acpi.h
pci-ats.h
pci-doe.h
pci-ecam.h
pci-ep-cfs.h
pci-epc.h
pci-epf.h
pci-p2pdma.h
pci.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 Scope-based Resource Management infrastructure 2023-07-04 13:50:38 -07:00
perf_event_api.h
perf_event.h cxl for v6.5 2023-07-01 08:58:41 -07:00
perf_regs.h
personality.h
pfn_t.h
pfn.h
pgtable_api.h
pgtable.h mm/huge pud: use transparent huge pud helpers only with CONFIG_TRANSPARENT_HUGEPAGE 2023-08-18 10:12:54 -07:00
phonet.h
phy_fixed.h
phy_led_triggers.h
phy.h
phylink.h
pid_namespace.h memfd: replace ratcheting feature from vm.memfd_noexec with hierarchy 2023-08-21 13:37:59 -07:00
pid.h pid: Replace struct pid 1-element array with flex-array 2023-06-30 09:04:01 -07:00
pim.h
pipe_fs_i.h
pkeys.h
pktcdvd.h
pl320-ipc.h
platform_device.h
platform_profile.h
pldmfw.h
plist.h
pm_clock.h
pm_domain.h
pm_opp.h
pm_qos.h
pm_runtime.h
pm_wakeirq.h PM: sleep: wakeirq: drop unused enable helpers 2023-07-24 09:51:51 +02:00
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.h
power_supply.h
powercap.h
ppp_channel.h
ppp_defs.h
ppp-comp.h
pps_kernel.h
pr.h
prandom.h
preempt.h
prefetch.h
prime_numbers.h
printk.h
prmt.h
proc_fs.h
proc_ns.h
processor.h
profile.h
projid.h
property.h
pruss_driver.h
psci.h
pseudo_fs.h
psi_types.h sched/psi: use kernfs polling functions for PSI trigger polling 2023-07-10 09:52:30 +02:00
psi.h sched/psi: use kernfs polling functions for PSI trigger polling 2023-07-10 09:52:30 +02:00
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_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_segcblist.h
rcu_sync.h
rculist_bl.h
rculist_nulls.h
rculist.h
rcupdate_trace.h
rcupdate_wait.h
rcupdate.h Scope-based Resource Management infrastructure 2023-07-04 13:50:38 -07:00
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.h
regmap.h
regset.h
relay.h
remoteproc.h
resctrl.h
reset-controller.h
reset.h
resource_ext.h
resource.h
restart_block.h
resume_user_mode.h
rethook.h Probes fixes and clean ups for v6.5-rc1: 2023-07-12 12:01:16 -07:00
rfkill.h
rhashtable-types.h
rhashtable.h
ring_buffer.h
rio_drv.h
rio_ids.h
rio_regs.h
rio.h
rmap.h
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
rv.h
rwbase_rt.h
rwlock_api_smp.h
rwlock_rt.h
rwlock_types.h
rwlock.h
rwsem.h
sbitmap.h
scatterlist.h
scc.h
sched_clock.h
sched.h
scmi_protocol.h
scpi_protocol.h
screen_info.h
scs.h
sctp.h
scx200_gpio.h
scx200.h
seccomp.h
secretmem.h
securebits.h
security.h
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_file_net.h
seq_file.h
seqlock_api.h
seqlock.h
serdev.h
serial_8250.h
serial_bcm63xx.h
serial_core.h
serial_max3100.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.h
skmsg.h
slab_def.h
slab.h Scope-based Resource Management infrastructure 2023-07-04 13:50:38 -07:00
slimbus.h
slub_def.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
sony-laptop.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 Networking changes for 6.5. 2023-06-28 16:43:10 -07:00
spmi.h
sram.h
srcu.h Scope-based Resource Management infrastructure 2023-07-04 13:50:38 -07:00
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
stmp_device.h
stmp3xxx_rtc_wdt.h
stop_machine.h
string_choices.h
string_helpers.h
string.h
stringhash.h
stringify.h
sungem_phy.h
sunserialcore.h
sunxi-rsb.h
superhyway.h
surface_acpi_notify.h
suspend.h
svga.h
sw842.h
swab.h
swait_api.h
swait.h
swap_cgroup.h
swap_slots.h
swap.h mm: kill frontswap 2023-08-21 13:37:26 -07:00
swapfile.h mm: kill frontswap 2023-08-21 13:37:26 -07:00
swapops.h mm: make PTE_MARKER_SWAPIN_ERROR more general 2023-08-18 10:12:16 -07:00
swiotlb.h
switchtec.h
sxgbe_platform.h
sync_core.h
sync_file.h
synclink.h
sys_soc.h
sys.h
syscall_user_dispatch.h
syscalls_api.h
syscalls.h asm-generic updates for 6.5 2023-07-06 10:06:04 -07:00
syscore_ops.h
sysctl.h
sysfb.h
sysfs.h
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: annotate data-races around fastopenq.max_qlen 2023-07-20 12:34:18 -07:00
tee_drv.h
tegra-icc.h
termios_internal.h
textsearch_fsm.h
textsearch.h
tfrc.h
thermal.h thermal: core: constify params in thermal_zone_device_register 2023-07-24 09:51:31 +02:00
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
time_namespace.h
time.h
time32.h
time64.h
timecounter.h
timekeeper_internal.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.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
tty_buffer.h
tty_driver.h
tty_flip.h
tty_ldisc.h
tty_port.h
tty.h
typecheck.h
types.h
u64_stats_sync_api.h
u64_stats_sync.h
uacce.h
uaccess.h
ubsan.h
ucs2_string.h
udp.h
uidgid.h
uio_driver.h
uio.h Networking changes for 6.5. 2023-06-28 16:43:10 -07:00
umh.h
unicode.h
units.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 mm: userfaultfd: add new UFFDIO_POISON ioctl 2023-08-18 10:12:16 -07:00
usermode_driver.h
util_macros.h
uts.h
utsname.h
uuid.h
vbox_utils.h
vdpa.h
verification.h
vermagic.h
vexpress.h
vfio_pci_core.h
vfio.h
vfs.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
virtio_console.h
virtio_dma_buf.h
virtio_net.h
virtio_pci_legacy.h
virtio_pci_modern.h
virtio_ring.h
virtio_vsock.h
virtio.h
vlynq.h
vm_event_item.h
vmalloc.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_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
workqueue_api.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 zswap: make zswap_load() take a folio 2023-08-21 13:37:27 -07:00
zutil.h