OpenCloudOS-Kernel/include/linux
Linus Torvalds 9828ed3f69 module: error out early on concurrent load of the same module file
It turns out that udev under certain circumstances will concurrently try
to load the same modules over-and-over excessively.  This isn't a kernel
bug, but it ends up affecting the kernel, to the point that under
certain circumstances we can fail to boot, because the kernel uses a lot
of memory to read all the module data all at once.

Note that it isn't a memory leak, it's just basically a thundering herd
problem happening at bootup with a lot of CPUs, with the worst cases
then being pretty bad.

Admittedly the worst situations are somewhat contrived: lots and lots of
CPUs, not a lot of memory, and KASAN enabled to make it all slower and
as such (unintentionally) exacerbate the problem.

Luis explains: [1]

 "My best assessment of the situation is that each CPU in udev ends up
  triggering a load of duplicate set of modules, not just one, but *a
  lot*. Not sure what heuristics udev uses to load a set of modules per
  CPU."

Petr Pavlu chimes in: [2]

 "My understanding is that udev workers are forked. An initial kmod
  context is created by the main udevd process but no sharing happens
  after the fork. It means that the mentioned memory pool logic doesn't
  really kick in.

  Multiple parallel load requests come from multiple udev workers, for
  instance, each handling an udev event for one CPU device and making
  the exactly same requests as all others are doing at the same time.

  The optimization idea would be to recognize these duplicate requests
  at the udevd/kmod level and converge them"

Note that module loading has tried to mitigate this issue before, see
for example commit 064f4536d1 ("module: avoid allocation if module is
already present and ready"), which has a few ASCII graphs on memory use
due to this same issue.

However, while that noticed that the module was already loaded, and
exited with an error early before spending any more time on setting up
the module, it didn't handle the case of multiple concurrent module
loads all being active - but not complete - at the same time.

Yes, one of them will eventually win the race and finalize its copy, and
the others will then notice that the module already exists and error
out, but while this all happens, we have tons of unnecessary concurrent
work being done.

Again, the real fix is for udev to not do that (maybe it should use
threads instead of fork, and have actual shared data structures and not
cause duplicate work). That real fix is apparently not trivial.

But it turns out that the kernel already has a pretty good model for
dealing with concurrent access to the same file: the i_writecount of the
inode.

In fact, the module loading already indirectly uses 'i_writecount' ,
because 'kernel_file_read()' will in fact do

	ret = deny_write_access(file);
	if (ret)
		return ret;
	...
	allow_write_access(file);

around the read of the file data.  We do not allow concurrent writes to
the file, and return -ETXTBUSY if the file was open for writing at the
same time as the module data is loaded from it.

And the solution to the reader concurrency problem is to simply extend
this "no concurrent writers" logic to simply be "exclusive access".

Note that "exclusive" in this context isn't really some absolute thing:
it's only exclusion from writers and from other "special readers" that
do this writer denial.  So we simply introduce a variation of that
"deny_write_access()" logic that not only denies write access, but also
requires that this is the _only_ such access that denies write access.

Which means that you can't start loading a module that is already being
loaded as a module by somebody else, or you will get the same -ETXTBSY
error that you would get if there were writers around.

[ It also means that you can't try to load a currently executing
  executable as a module, for the same reason: executables do that same
  "deny_write_access()" thing, and that's obviously where the whole
  ETXTBSY logic traditionally came from.

  This is not a problem for kernel modules, since the set of normal
  executable files and kernel module files is entirely disjoint. ]

This new function is called "exclusive_deny_write_access()", and the
implementation is trivial, in that it's just an atomic decrement of
i_writecount if it was 0 before.

To use that new exclusivity check, all we then do is wrap the module
loading with that exclusive_deny_write_access()() / allow_write_access()
pair.  The actual patch is a bit bigger than that, because we want to
surround not just the "load file data" part, but the whole module setup,
to get maximum exclusion.

So this ends up splitting up "finit_module()" into a few helper
functions to make it all very clear and legible.

In Luis' test-case (bringing up 255 vcpu's in a virtual machine [3]),
the "wasted vmalloc" space (ie module data read into a vmalloc'ed area
in order to be loaded as a module, but then discarded because somebody
else loaded the same module instead) dropped from 1.8GiB to 474kB.  Yes,
that's gigabytes to kilobytes.

It doesn't drop completely to zero, because even with this change, you
can still end up having completely serial pointless module loads, where
one udev process has loaded a module fully (and thus the kernel has
released that exclusive lock on the module file), and then another udev
process tries to load the same module again.

So while we cannot fully get rid of the fundamental bug in user space,
we _can_ get rid of the excessive concurrent thundering herd effect.

A couple of final side notes on this all:

 - This tweak only affects the "finit_module()" system call, which gives
   the kernel a file descriptor with the module data.

   You can also just feed the module data as raw data from user space
   with "init_module()" (note the lack of 'f' at the beginning), and
   obviously for that case we do _not_ have any "exclusive read" logic.

   So if you absolutely want to do things wrong in user space, and try
   to load the same module multiple times, and error out only later when
   the kernel ends up saying "you can't load the same module name
   twice", you can still do that.

   And in fact, some distros will do exactly that, because they will
   uncompress the kernel module data in user space before feeding it to
   the kernel (mainly because they haven't started using the new kernel
   side decompression yet).

   So this is not some absolute "you can't do concurrent loads of the
   same module". It's literally just a very simple heuristic that will
   catch it early in case you try to load the exact same module file at
   the same time, and in that case avoid a potentially nasty situation.

 - There is another user of "deny_write_access()": the verity code that
   enables fs-verity on a file (the FS_IOC_ENABLE_VERITY ioctl).

   If you use fs-verity and you care about verifying the kernel modules
   (which does make sense), you should do it *before* loading said
   kernel module. That may sound obvious, but now the implementation
   basically requires it. Because if you try to do it concurrently, the
   kernel may refuse to load the module file that is being set up by the
   fs-verity code.

 - This all will obviously mean that if you insist on loading the same
   module in parallel, only one module load will succeed, and the others
   will return with an error.

   That was true before too, but what is different is that the -ETXTBSY
   error can be returned *before* the success case of another process
   fully loading and instantiating the module.

   Again, that might sound obvious, and it is indeed the whole point of
   the whole change: we are much quicker to notice the whole "you're
   already in the process of loading this module".

   So it's very much intentional, but it does mean that if you just
   spray the kernel with "finit_module()", and expect that the module is
   immediately loaded afterwards without checking the return value, you
   are doing something horribly horribly wrong.

   I'd like to say that that would never happen, but the whole _reason_
   for this commit is that udev is currently doing something horribly
   horribly wrong, so ...

Link: https://lore.kernel.org/all/ZEGopJ8VAYnE7LQ2@bombadil.infradead.org/ [1]
Link: https://lore.kernel.org/all/23bd0ce6-ef78-1cd8-1f21-0e706a00424a@suse.com/ [2]
Link: https://lore.kernel.org/lkml/ZG%2Fa+nrt4%2FAAUi5z@bombadil.infradead.org/ [3]
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Cc: Petr Pavlu <petr.pavlu@suse.com>
Tested-by: Luis Chamberlain <mcgrof@kernel.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2023-05-25 17:07:57 -07:00
..
amba ARM: s3c: remove all s3c24xx support 2023-01-16 09:26:05 +01:00
atomic locking/atomic: Correct (cmp)xchg() instrumentation 2023-04-29 09:09:31 +02:00
avf virtchnl: i40e/iavf: rename iwarp to rdma 2023-01-25 08:55:19 -08:00
bcma
byteorder
can can: bittiming: can_calc_bittiming(): add missing parameter to no-op function 2023-02-08 21:53:24 +01:00
cdx cdx: add device attributes 2023-03-29 12:26:32 +02:00
ceph ceph: move mount state enum to super.h 2023-02-02 13:40:23 +01:00
clk ARM: s3c: remove s3c24xx specific hacks 2023-01-16 09:26:05 +01:00
comedi
crush
decompress
device driver core: class: properly reference count class_dev_iter() 2023-05-19 11:03:36 +01:00
dma dmaengine: ti: k3-udma: Workaround errata i2234 2023-03-31 17:49:36 +05:30
dsa net: dsa: microchip: ptp: move pdelay_rsp correction field to tail tag 2023-01-13 08:40:41 +00:00
extcon
firmware Char/Misc drivers for 6.4-rc1 2023-04-27 12:07:50 -07:00
fpga
fsl ptp_qoriq: fix latency in ptp_qoriq_adjtime() operation 2023-01-20 18:20:38 -08:00
gpio gpiolib: Clean up headers 2023-03-06 12:33:02 +02:00
greybus
hsi
i3c i3c: Make i3c_master_unregister() return void 2023-03-21 19:25:25 +01:00
iio iio: light: Add gain-time-scale helpers 2023-04-10 12:26:34 +01:00
input Input: matrix_keypad - replace header inclusions by forward declarations 2023-02-23 22:12:47 -08:00
irqchip irqchip/gic: Drop support for board files 2023-04-08 10:50:04 +01:00
isdn
lockd lockd: fix races in client GRANTED_MSG wait logic 2023-04-26 09:05:00 -04:00
mailbox mailbox: zynqmp: Fix typo in IPI documentation 2023-03-14 13:28:12 -06:00
mdio net: dsa: seville: ignore mscc-miim read errors from Lynx PCS 2023-02-26 18:31:37 +00:00
mfd pwm: Changes for v6.4-rc1 2023-05-03 11:25:01 -07:00
mlx4 v6.3 RDMA pull request 2023-02-24 15:11:03 -08:00
mlx5 net/mlx5: DR, Check force-loopback RC QP capability independently from RoCE 2023-05-22 22:38:05 -07:00
mmc Networking changes for 6.4. 2023-04-26 16:07:23 -07:00
mtd Raw NAND core changes: 2023-04-19 20:39:03 +02:00
mux
net/intel
netfilter netfilter: nf_tables: don't write table validation state without mutex 2023-04-22 01:39:40 +02:00
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
pcs net: pcs: add driver for MediaTek SGMII PCS 2023-03-20 19:48:26 -07:00
pds pds_core: publish events to the clients 2023-04-21 08:29:13 +01:00
perf arm64: perf: Abstract system register accesses away 2023-03-27 14:01:18 +01:00
phy phy: Add devm_of_phy_optional_get() helper 2023-02-03 10:52:49 +05:30
pinctrl I2C for 6.3: 2023-02-24 17:12:23 -08:00
platform_data USB / Thunderbolt changes for 6.4-rc1 2023-04-27 11:42:11 -07:00
power power: supply: bq27xxx: Ensure power_supply_changed() is called on current sign changes 2023-05-08 15:29:12 +02:00
pse-pd
qed
raid
regulator
remoteproc remoteproc: pru: Add pru_rproc_set_ctable() function 2023-01-06 09:16:16 -07:00
reset
rpmsg rpmsg: qcom_smd: Make qcom_smd_unregister_edge() return void 2023-04-05 20:58:32 -07:00
rtc
sched IOMMU Updates for Linux 6.4 2023-04-30 13:00:38 -07:00
soc Networking changes for 6.4. 2023-04-26 16:07:23 -07:00
soundwire soundwire: amd: add runtime pm ops for AMD SoundWire manager driver 2023-04-12 15:30:36 +05:30
spi spi: Add TPM HW flow flag 2023-04-21 14:37:03 +01:00
ssb driver core: make struct bus_type.uevent() take a const * 2023-01-27 13:45:52 +01:00
sunrpc nfsd-6.4 fixes: 2023-05-17 09:56:01 -07:00
surface_aggregator Driver core changes for 6.3-rc1 2023-02-24 12:58:55 -08:00
ulpi
unaligned
usb usb: gadget: drop superfluous ':' in doc string 2023-05-13 18:04:59 +09:00
8250_pci.h
acct.h
acpi.h hyperv-next for v6.4 2023-04-27 17:17:12 -07:00
acpi_agdi.h
acpi_apmt.h
acpi_dma.h
acpi_iort.h
acpi_mdio.h net: mdio: fix owner field for mdio buses registered using ACPI 2023-03-19 10:48:35 +00:00
acpi_pmtmr.h
acpi_viot.h
adb.h
adfs_fs.h
adreno-smmu-priv.h
adxl.h
aer.h
agp_backend.h
agpgart.h
ahci-remap.h
ahci_platform.h scsi: ata: Declare SCSI host templates const 2023-03-24 19:19:19 -04:00
aio.h
alarmtimer.h
alcor_pci.h misc: alcor_pci: Use PCI core to manage ASPM instead of open-coding 2023-03-09 17:32:34 +01:00
align.h
altera_jtaguart.h
altera_uart.h
amd-iommu.h
amd-pstate.h cpufreq: amd-pstate: Add guided autonomous mode 2023-03-17 19:06:23 +01:00
anon_inodes.h
aperture.h
apm-emulation.h
apm_bios.h
apple-gmux.h platform/x86: apple-gmux: Fix iomem_base __iomem annotation 2023-04-06 14:24:04 +02:00
apple-mailbox.h
arch_topology.h
arm-cci.h
arm-smccc.h irqchip/gicv3: Workaround for NVIDIA erratum T241-FABRIC-4 2023-04-08 10:51:23 +01:00
arm_ffa.h
arm_sdei.h
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: drop unused ata_id_is_lba_capacity_ok() 2023-03-23 10:29:25 +09:00
ata_platform.h scsi: ata: Declare SCSI host templates const 2023-03-24 19:19:19 -04:00
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 fanotify,audit: Allow audit to use the full permission event response 2023-02-07 12:53:53 +01:00
audit_arch.h
auto_dev-ioctl.h
auto_fs.h
auxiliary_bus.h
auxvec.h rseq: Increase AT_VECTOR_SIZE_BASE to match rseq auxvec entries 2023-01-12 11:22:22 +01:00
average.h
backing-dev-defs.h
backing-dev.h
backlight.h
badblocks.h
balloon_compaction.h
base64.h
bcd.h include/linux/bcd.h: provide bcd_is_valid() helper 2023-02-09 23:01:49 +01:00
bch.h
bcm47xx_nvram.h
bcm47xx_sprom.h
bcm47xx_wdt.h
bcm963xx_nvram.h
bcm963xx_tag.h
binfmts.h
bio.h btrfs, block: move REQ_CGROUP_PUNT to btrfs 2023-04-17 18:01:22 +02:00
bit_spinlock.h
bitfield.h bitfield: add FIELD_PREP_CONST() 2023-01-19 14:46:25 +01:00
bitmap.h
bitops.h
bitrev.h
bits.h vdso/bits.h: Add BIT_ULL() for the sake of consistency 2023-01-31 14:42:10 +01:00
blk-cgroup.h
blk-crypto-profile.h
blk-crypto.h blk-crypto: make blk_crypto_evict_key() return void 2023-03-16 09:35:09 -06:00
blk-integrity.h
blk-mq-pci.h
blk-mq-virtio.h
blk-mq.h for-6.4/block-2023-04-21 2023-04-26 12:52:58 -07:00
blk-pm.h
blk_types.h for-6.4/block-2023-04-21 2023-04-26 12:52:58 -07:00
blkdev.h block: remove NFL4_UFLG_MASK 2023-05-20 05:38:01 -06:00
blkpg.h
blktrace_api.h
blockgroup_lock.h
bma150.h
bootconfig.h bootconfig: Increase max nodes of bootconfig from 1024 to 8192 for DCC support 2023-02-22 08:27:49 +09:00
bootmem_info.h
bottom_half.h
bpf-cgroup-defs.h
bpf-cgroup.h
bpf-netns.h
bpf.h bpf: add test_run support for netfilter program type 2023-04-21 11:34:50 -07:00
bpf_lirc.h
bpf_local_storage.h bpf: Use bpf_mem_cache_alloc/free for bpf_local_storage 2023-03-25 19:52:52 -07:00
bpf_lsm.h
bpf_mem_alloc.h bpf: Add a few bpf mem allocator functions 2023-03-25 19:52:51 -07:00
bpf_trace.h
bpf_types.h bpf: fix link failure with NETFILTER=y INET=n 2023-04-22 08:21:05 -07:00
bpf_verifier.h bpf: Migrate bpf_rbtree_add and bpf_list_push_{front,back} to possibly fail 2023-04-15 17:36:50 -07:00
bpfilter.h
bpfptr.h
brcmphy.h
bsearch.h
bsg-lib.h
bsg.h
btf.h bpf: Remove KF_KPTR_GET kfunc flag 2023-04-16 08:51:24 -07:00
btf_ids.h bpf: Increase size of BTF_ID_LIST without CONFIG_DEBUG_INFO_BTF again 2023-03-07 07:49:28 -08:00
btree-128.h
btree-type.h
btree.h
btrfs.h
buffer_head.h fs/buffer: add folio_create_empty_buffers helper 2023-04-21 14:52:01 -07:00
bug.h
build-salt.h
build_bug.h
buildid.h
bvec.h block: add a bvec_set_virt helper 2023-02-03 08:20:55 -07:00
c2port.h
cache.h
cacheflush.h
cacheinfo.h cacheinfo: Add use_arch[|_cache]_info field/function 2023-04-14 10:13:39 +01:00
capability.h capability: just use a 'u64' instead of a 'u32[2]' array 2023-03-01 10:01:22 -08:00
cb710.h
cc_platform.h
cciss_ioctl.h
ccp.h
cdev.h
cdrom.h
cfag12864b.h
cfi.h
cfi_types.h
cgroup-defs.h
cgroup.h cgroup: rename cgroup_rstat_flush_"irqsafe" to "atomic" 2023-04-18 16:29:49 -07:00
cgroup_api.h
cgroup_rdma.h
cgroup_refcnt.h
cgroup_subsys.h
circ_buf.h
clk-provider.h Nothing looks out of the ordinary in this batch of clk driver updates. There 2023-04-29 17:29:39 -07:00
clk.h
clkdev.h
clockchips.h cpuidle: Fix ct_idle_*() usage 2023-01-13 11:48:15 +01:00
clocksource.h
clocksource_ids.h
cma.h
cn_proc.h
cnt32_to_63.h
coda.h
compaction.h mm: compaction: move compaction sysctl to its own file 2023-04-13 11:49:35 -07:00
compat.h
compiler-clang.h
compiler-gcc.h
compiler-version.h
compiler.h tracing: make ftrace_likely_update() declaration visible 2023-05-17 09:36:46 -07:00
compiler_attributes.h Remove Intel compiler support 2023-03-05 10:49:37 -08:00
compiler_types.h Remove Intel compiler support 2023-03-05 10:49:37 -08:00
completion.h
component.h
configfs.h
connector.h
console.h TTY/Serial driver updates for 6.3-rc1 2023-02-24 12:17:14 -08:00
console_struct.h tty: vt: remove struct uni_screen 2023-01-19 15:06:42 +01:00
consolemap.h
const.h
container.h
container_of.h container_of: Update header inclusions 2023-01-31 12:44:20 +01:00
context_tracking.h Objtool changes for v6.4: 2023-04-28 14:02:54 -07:00
context_tracking_irq.h
context_tracking_state.h entry: Fix noinstr warning in __enter_from_user_mode() 2023-03-21 11:53:16 +01:00
cookie.h
cordic.h
coredump.h
coresight-pmu.h coresight: events: PERF_RECORD_AUX_OUTPUT_HW_ID used for Trace ID 2023-01-19 10:16:47 +00:00
coresight-stm.h
coresight.h Coresight: Add coresight TPDM source driver 2023-01-20 11:38:15 +00:00
count_zeros.h
counter.h
cper.h
cpu.h sched/idle: Mark arch_cpu_idle_dead() __noreturn 2023-03-08 08:44:28 -08:00
cpu_cooling.h
cpu_pm.h
cpu_rmap.h lib: cpu_rmap: Add irq_cpu_rmap_remove to complement irq_cpu_rmap_add 2023-03-24 16:04:21 -07:00
cpufeature.h
cpufreq.h Devicetree updates for v6.4, part 2: 2023-04-27 10:09:05 -07:00
cpuhotplug.h arm64 updates for 6.4 2023-04-25 12:39:01 -07:00
cpuidle.h cpuidle, arm64: Fix the ARM64 cpuidle logic 2023-01-18 12:27:17 +01:00
cpuidle_haltpoll.h
cpumask.h Fixes for 6.3-rc3: 2023-03-25 12:57:34 -07:00
cpumask_api.h
cpuset.h cpuset: Clean up cpuset_node_allowed 2023-03-23 16:02:27 -10:00
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 libcrc32c: remove crc32c_impl 2023-04-17 18:01:23 +02:00
crc32poly.h
crc64.h
cred.h
crypto.h crypto: api - Add crypto_tfm_get 2023-04-20 18:20:04 +08:00
cs5535.h
ctype.h
cuda.h
damon.h mm/damon: update comments in damon.h for damon_attrs 2023-02-02 22:33:25 -08:00
dasd_mod.h
davinci_emac.h
dax.h dax/hmem: Move hmem device registration to dax_hmem.ko 2023-02-10 17:33:34 -08:00
dca.h
dcache.h
dccp.h dccp: preserve const qualifier in dccp_sk() 2023-03-18 12:23:33 +00:00
debug_locks.h
debugfs.h
debugobjects.h
delay.h
delayacct.h delayacct: track delays from IRQ/SOFTIRQ 2023-04-18 16:39:34 -07:00
delayed_call.h
dev_printk.h
devcoredump.h
devfreq-event.h
devfreq.h PM / devfreq: Fix build issues with devfreq disabled 2023-01-30 07:37:40 -08:00
devfreq_cooling.h
device-mapper.h dm: unexport dm_get_queue_limits() 2023-04-14 12:32:20 -04:00
device.h driver core: device.h: remove extern from function prototypes 2023-03-24 15:35:31 +01:00
device_cgroup.h
devm-helpers.h
devpts_fs.h
dfl.h fpga: dfl: add basic support for DFHv1 2023-01-19 16:07:40 +01:00
digsig.h
dim.h linux/dim: Do nothing if no time delta between samples 2023-05-09 11:06:45 +02:00
dio.h
dirent.h
dlm.h fs: dlm: remove deprecated code parts 2023-03-06 15:49:07 -06:00
dlm_plock.h
dm-bufio.h dm bufio: remove unused dm_bufio_release_move interface 2023-03-30 15:57:50 -04:00
dm-dirty-log.h dm: correct block comments format. 2023-02-14 14:23:06 -05:00
dm-io.h dm: change "unsigned" to "unsigned int" 2023-02-14 14:23:06 -05:00
dm-kcopyd.h dm: change "unsigned" to "unsigned int" 2023-02-14 14:23:06 -05:00
dm-region-hash.h dm: correct block comments format. 2023-02-14 14:23:06 -05:00
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/dma-fence: Add deadline awareness 2023-03-25 10:55:07 -07:00
dma-heap.h
dma-map-ops.h dma-mapping: provide a fallback dma_default_coherent 2023-04-07 07:38:20 +02:00
dma-mapping.h
dma-resv.h dma-buf/dma-resv: Add a way to set fence deadline 2023-03-28 13:39:02 -07:00
dmaengine.h dmaengine updates for v6.3 2023-02-24 17:18:54 -08:00
dmapool.h
dmar.h iommu/vt-d: Support size of the register set in DRHD 2023-02-03 11:06:03 +01:00
dmi.h
dnotify.h
dns_resolver.h
dqblk_qtree.h
dqblk_v1.h
dqblk_v2.h
drbd.h drbd: split off drbd_config into separate file 2023-01-29 15:18:33 -07:00
drbd_config.h drbd: split off drbd_config into separate file 2023-01-29 15:18:33 -07:00
drbd_genl.h
drbd_genl_api.h drbd: drop API_VERSION define 2023-01-29 15:18:33 -07:00
drbd_limits.h drbd: make limits unsigned 2023-01-29 15:18:33 -07:00
ds2782_battery.h
dtlk.h
dtpm.h
dw_apb_timer.h
dynamic_debug.h dyndbg: cleanup dynamic usage in ib_srp.c 2023-03-19 13:25:20 -07: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: earlycon: Reprobe after parsing config tables 2023-03-13 23:28:43 +01:00
efi_embedded_fw.h
efs_vh.h
eisa.h
elf-fdpic.h
elf-randomize.h
elf.h
elfcore-compat.h
elfcore.h elfcore: Add a cprm parameter to elf_core_extra_{phdrs,data_size} 2023-01-05 15:12:12 +00:00
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 error-injection: remove EI_ETYPE_NONE 2023-02-02 22:50:00 -08:00
errqueue.h
errseq.h
etherdevice.h net: add helper eth_addr_add() 2023-02-06 19:06:58 +01:00
ethtool.h bonding: add software tx timestamping support 2023-04-18 20:48:59 -07:00
ethtool_netlink.h net: ethtool: create and export ethtool_dev_mm_supported() 2023-04-13 22:22:10 -07:00
eventfd.h
eventpoll.h
evm.h fs: port acl to mnt_idmap 2023-01-19 09:24:28 +01:00
export-internal.h
export.h
exportfs.h nfsd: allow reaping files still under writeback 2023-04-26 09:04:59 -04:00
ext2_fs.h
extable.h
extcon-provider.h
extcon.h
f2fs_fs.h f2fs: use common implementation of file type 2023-04-10 10:58:45 -07:00
f75375s.h
falloc.h
fanotify.h fanotify: define struct members to hold response decision context 2023-02-07 12:53:53 +01:00
fault-inject-usercopy.h
fault-inject.h fault-inject: allow configuration via configfs 2023-04-13 07:38:54 -06:00
fb.h Linux 6.3-rc4 2023-03-29 16:00:23 +02:00
fbcon.h
fcdevice.h
fcntl.h
fd.h
fddidevice.h
fdtable.h
fec.h
fiemap.h
file.h
fileattr.h fs: port ->fileattr_set() to pass mnt_idmap 2023-01-19 09:24:27 +01:00
filelock.h fs: remove locks_inode 2023-01-11 06:52:43 -05:00
filter.h bpf: Support 64-bit pointers to kfuncs 2023-04-13 21:36:41 -07:00
find.h cpumask: introduce for_each_cpu_or 2023-03-19 10:02:04 -07:00
fips.h
firewire.h Driver core changes for 6.3-rc1 2023-02-24 12:58:55 -08:00
firmware-map.h
firmware.h
fixp-arith.h
flat.h
flex_proportions.h
font.h
fortify-string.h fortify: Use __builtin_dynamic_object_size() when available 2023-01-05 12:08:29 -08:00
fprobe.h fprobe: Skip exit_handler if entry_handler returns !0 2023-03-28 18:52:22 -04:00
freelist.h
freezer.h
frontswap.h
fs.h module: error out early on concurrent load of the same module file 2023-05-25 17:07:57 -07:00
fs_api.h
fs_context.h fs_context: drop the unused lsm_flags member 2023-03-16 14:38:28 +01:00
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 There are a number of major cleanups in ext4 this cycle: 2023-04-26 08:57:41 -07:00
fsi-occ.h
fsi-sbefifo.h
fsi.h
fsl-diu-fb.h
fsl_devices.h
fsl_hypervisor.h
fsl_ifc.h
fsldma.h
fsnotify.h
fsnotify_backend.h
fsverity.h fsverity: use WARN_ON_ONCE instead of WARN_ON 2023-04-11 19:23:15 -07:00
ftrace.h Minor tracing updates: 2023-05-05 13:11:02 -07:00
ftrace_irq.h
futex.h
fwnode.h driver core: fw_devlink: Consolidate device link flag computation 2023-02-08 13:37:54 +01:00
fwnode_mdio.h
gameport.h
gcd.h
genalloc.h
generic-radix-tree.h
genetlink.h
genl_magic_func.h genetlink: make _genl_cmd_to_str static 2023-04-01 20:27:55 -06:00
genl_magic_struct.h
getcpu.h
gfp.h mm/page_alloc: rename page_alloc_init() to page_alloc_init_cpuhp() 2023-04-05 19:42:53 -07:00
gfp_api.h
gfp_types.h kasan: remove PG_skip_kasan_poison flag 2023-03-28 16:20:16 -07:00
glob.h
gnss.h
goldfish.h
gpio-pxa.h
gpio.h gpiolib: Clean up headers 2023-03-06 12:33:02 +02:00
gpio_keys.h
greybus.h
group_cpus.h genirq/affinity: Move group_cpus_evenly() into lib/ 2023-01-17 18:50:06 +01:00
hardirq.h
hash.h
hashtable.h
hashtable_api.h
hdlc.h
hdlcdrv.h
hdmi.h
hex.h kernel.h: split the hexadecimal related helpers to hex.h 2023-04-08 13:45:38 -07:00
hid-debug.h
hid-roccat.h
hid-sensor-hub.h
hid-sensor-ids.h HID: hid-sensor-custom: Allow more custom iio sensors 2022-12-20 15:24:57 +01:00
hid.h HID: Recognize "Digitizer" as a valid input application 2023-03-30 17:35:42 +02:00
hid_bpf.h HID: bpf: rework how programs are attached and stored in the kernel 2023-01-18 22:08:38 +01:00
hidden.h
hiddev.h
hidraw.h
highmem-internal.h highmem: Enhance is_kmap_addr() to check kmap_local_page() mappings 2023-02-13 14:16:35 +01:00
highmem.h mm/hwpoison: introduce copy_mc_highpage 2023-04-18 16:29:51 -07:00
highuid.h
hil.h
hil_mlc.h
hippidevice.h
hisi_acc_qm.h Char/Misc and other driver subsystem changes for 6.3-rc1 2023-02-24 12:47:33 -08:00
hmm.h
host1x.h gpu: host1x: Make host1x_client_unregister() return void 2023-04-04 13:59:10 +02:00
host1x_context_bus.h
hp_sdc.h
hpet.h
hrtimer.h
hrtimer_api.h
hrtimer_defs.h
hte.h
huge_mm.h mm: remove vmf_insert_pfn_xxx_prot() for huge page-table entries 2023-04-05 19:42:56 -07:00
hugetlb.h - Nick Piggin's "shoot lazy tlbs" series, to improve the peformance of 2023-04-27 19:42:02 -07:00
hugetlb_cgroup.h mm/hugetlb: increase use of folios in alloc_huge_page() 2023-02-13 15:54:27 -08:00
hugetlb_inline.h
hw_breakpoint.h Move bp_type_idx to include/linux/hw_breakpoint.h 2023-03-10 21:05:16 +01:00
hw_random.h
hwmon-sysfs.h
hwmon-vid.h
hwmon.h hwmon: constify pointers to hwmon_channel_info 2023-04-07 08:45:17 -07:00
hwspinlock.h
hyperv.h Driver core changes for 6.3-rc1 2023-02-24 12:58:55 -08:00
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 i2c: gxp: fix build failure without CONFIG_I2C_SLAVE 2023-05-03 17:27:29 +02:00
i8042.h
i8253.h
icmp.h
icmpv6.h
idle_inject.h powercap: idle_inject: Add update callback 2023-02-02 21:08:32 +01:00
idr.h
ieee80211.h wifi: ieee80211: correctly mark FTM frames non-bufferable 2023-04-13 16:32:02 +02:00
ieee802154.h mac802154: Handle passive scanning 2023-01-03 19:48:43 +01:00
if_arp.h
if_bridge.h bridge: Add internal flags for per-{Port, VLAN} neighbor suppression 2023-04-21 08:25:49 +01:00
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 net: fix stack overflow when LRO is disabled for virtual interfaces 2023-05-19 22:46:37 -07:00
if_tun.h
if_tunnel.h
if_vlan.h net: add vlan_get_protocol_and_depth() helper 2023-05-10 10:25:55 +01:00
igmp.h ipv4: constify ip_mc_sf_allow() socket argument 2023-03-17 08:56:37 +00:00
ihex.h
ima.h integrity-v6.3 2023-02-22 12:36:25 -08:00
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
instruction_pointer.h
instrumentation.h
instrumented.h instrumented.h: Fix all kernel-doc format warnings 2023-03-07 10:11:28 -08:00
integrity.h
intel-ish-client-if.h
intel_rapl.h
intel_tcc.h thermal/intel: Introduce Intel TCC library 2022-12-30 19:57:38 +01:00
intel_th.h
intel_tpmi.h platform/x86/intel/tpmi: ADD tpmi external interface for tpmi feature drivers 2023-02-06 13:47:40 +01:00
interconnect-provider.h interconnect: drop unused icc_link_destroy() interface 2023-04-05 11:29:59 +03:00
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-mapping: don't disable preempt on RT in io_mapping_map_atomic_wc(). 2023-03-28 16:20:16 -07:00
io-pgtable.h
io.h
io_uring.h io_uring: make io_uring_sqe_cmd() unconditionally available 2023-05-09 07:59:54 -06:00
io_uring_types.h io_uring/rsrc: remove rsrc_data refs 2023-04-15 14:44:57 -06:00
ioam6.h
ioam6_genl.h
ioam6_iptunnel.h
iocontext.h
iomap.h iomap: Remove IOMAP_DIO_NOSYNC unused dio flag 2023-04-21 08:54:47 -07:00
iommu-helper.h
iommu.h IOMMU Updates for Linux 6.4 2023-04-30 13:00:38 -07:00
iommufd.h vfio-iommufd: Make vfio_iommufd_emulated_bind() return iommufd_access ID 2023-03-31 13:43:32 -03:00
iopoll.h
ioport.h Driver Core changes for 6.2-rc1 2022-12-16 03:54:54 -08:00
ioprio.h
iosys-map.h
iova.h
iova_bitmap.h
ip.h net: add a couple of helpers for iph tot_len 2023-02-01 20:54:27 -08:00
ipack.h
ipc.h
ipc_namespace.h
ipmi.h
ipmi_smi.h
ipv6.h ipv6: raw: preserve const qualifier in raw6_sk() 2023-03-18 12:23:33 +00:00
ipv6_route.h
irq.h genirq: Add mechanism to multiplex a single HW IPI 2023-02-05 10:57:55 +00:00
irq_poll.h
irq_sim.h
irq_work.h
irqbypass.h
irqchip.h
irqdesc.h
irqdomain.h iommufd for 6.3 2023-02-24 14:34:12 -08:00
irqdomain_defs.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 net/smc: De-tangle ism and smc device initialization 2023-01-25 09:46:49 +00:00
iversion.h fs: clarify when the i_version counter must be updated 2023-01-26 06:59:40 -05:00
jbd2.h Bug fixes and regressions for ext4, the most serious of which is a 2023-03-12 08:55:55 -07:00
jhash.h
jiffies.h
journal-head.h
joystick.h
jump_label.h
jump_label_ratelimit.h
jz4740-adc.h
jz4780-nemc.h
kallsyms.h kallsyms: Delete an unused parameter related to {module_}kallsyms_on_each_symbol() 2023-03-19 13:27:19 -07:00
kasan-checks.h
kasan-enabled.h
kasan-tags.h
kasan.h mm/kasan: simplify and refine kasan_cache code 2023-01-18 17:12:55 -08: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 kernel.h: split the hexadecimal related helpers to hex.h 2023-04-08 13:45:38 -07:00
kernel_read_file.h
kernel_stat.h sched: Add helper nr_context_switches_cpu() 2023-01-05 12:21:11 -08:00
kernelcapi.h
kernfs.h
kexec.h kexec: remove unnecessary arch_kexec_kernel_image_load() 2023-04-08 13:45:38 -07:00
key-type.h
key.h KEYS: Add new function key_create() 2023-02-13 10:11:20 +02:00
keyboard.h
keyctl.h
kfence.h
kfifo.h
kgdb.h
khugepaged.h
klist.h
kmemleak.h
kmod.h
kmsan-checks.h
kmsan.h mm: kmsan: apply __must_check to non-void functions 2023-04-18 16:30:09 -07:00
kmsan_string.h
kmsan_types.h
kmsg_dump.h
kobj_map.h
kobject.h kobject.h remove extern from function prototypes 2023-03-24 15:35:51 +01:00
kobject_api.h
kobject_ns.h
kprobes.h x86/kprobes: Fix arch_check_optimized_kprobe check within optimized_kprobe range 2023-02-21 08:49:16 +09:00
kref.h
kref_api.h
ks0108.h
ks8842.h
ks8851_mll.h
ksm.h mm/ksm: move disabling KSM from s390/gmap code to KSM code 2023-05-02 17:21:50 -07:00
kstrtox.h
kthread.h
ktime.h
ktime_api.h
kvm_dirty_ring.h
kvm_host.h s390: 2023-05-01 12:06:20 -07:00
kvm_irqfd.h KVM: irqfd: Make resampler_list an RCU list 2023-03-27 10:13:28 -04:00
kvm_para.h
kvm_types.h KVM: Shrink struct kvm_mmu_memory_cache 2023-03-23 16:10:59 -07:00
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-05-02 10:36:02 -07:00
libata.h scsi: ata: Declare SCSI host templates const 2023-03-24 19:19:19 -04:00
libfdt.h
libfdt_env.h
libgcc.h libgcc: add forward declarations for generic library routines 2023-04-27 13:45:31 -07:00
libnvdimm.h cxl/pmem: Fix nvdimm registration races 2023-02-13 17:01:05 -08:00
libps2.h
license.h
limits.h
linear_range.h
linkage.h
linkmode.h
linux_logo.h
lis3lv02d.h
list.h i915: Move list_count() to list.h as list_count_nodes() for broader use 2023-01-06 16:37:46 +01:00
list_bl.h
list_lru.h
list_nulls.h
list_sort.h
litex.h
livepatch.h livepatch,sched: Add livepatch task switching to cond_resched() 2023-03-22 17:09:28 +01:00
livepatch_sched.h livepatch,sched: Add livepatch task switching to cond_resched() 2023-03-22 17:09:28 +01:00
llc.h
llist.h
llist_api.h
local_lock.h
local_lock_internal.h
lockdep.h locking/lockdep: Improve the deadlock scenario print for sync and read lock 2023-03-27 11:16:04 -07:00
lockdep_api.h
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: fix a badly named parameter in security_get_getsecurity() 2023-03-08 13:29:49 -05:00
lsm_hooks.h lsm/stable-6.4 PR 20230420 2023-04-24 11:21:50 -07:00
lz4.h
lzo.h
mISDNdsp.h
mISDNhw.h
mISDNif.h
mailbox_client.h mailbox: Allow direct registration to a channel 2023-04-18 11:48:55 -05:00
mailbox_controller.h
map_benchmark.h
maple.h
maple_tree.h maple_tree: add mas_init() function 2023-02-09 16:51:30 -08:00
marvell_phy.h
math.h
math64.h sched/clock/x86: Mark sched_clock() noinstr 2023-01-31 15:01:47 +01:00
mbcache.h
mbus.h
mc6821.h
mc146818rtc.h
mcb.h mcb: move to_mcb_device() to use container_of_const() 2023-01-27 13:45:49 +01:00
mdev.h
mdio-bitbang.h net: mdio: mdio-bitbang: Separate C22 and C45 transactions 2023-01-10 15:53:36 -08:00
mdio-gpio.h
mdio-mux.h
mdio.h net: phy: add genphy_c45_ethtool_get/set_eee() support 2023-02-13 11:12:31 +00:00
mei_aux.h
mei_cl_bus.h
mem_encrypt.h
memblock.h mm/memtest: add results of early memtest to /proc/meminfo 2023-04-05 19:42:55 -07:00
memcontrol.h workingset: memcg: sleep when flushing stats in workingset_refault() 2023-04-18 16:29:50 -07:00
memfd.h memfd: pass argument of memfd_fcntl as int 2023-04-18 16:30:11 -07:00
memory-tiers.h
memory.h
memory_hotplug.h
mempolicy.h
mempool.h
memregion.h dax/hmem: Convey the dax range via memregion_info() 2023-02-10 17:33:29 -08:00
memremap.h mm/memremap: Replace zero-length array with DECLARE_FLEX_ARRAY() helper 2023-01-05 16:15:26 -06:00
memstick.h
mhi.h bus: mhi: host: Remove mhi_poll() API 2023-03-07 22:04:45 +05:30
mhi_ep.h bus: mhi: ep: Change state_lock to mutex 2023-01-27 12:31:41 +05:30
micrel_phy.h net: micrel: Add support for lan8841 PHY 2023-02-08 09:16:07 +00:00
microchipphy.h
migrate.h include/linux/migrate.h: remove unneeded externs 2023-02-20 12:46:18 -08:00
migrate_mode.h
mii.h
mii_timestamper.h
min_heap.h
minmax.h
misc_cgroup.h
miscdevice.h
mm.h Add support for new Linear Address Masking CPU feature. This is similar 2023-04-28 09:43:49 -07:00
mm_api.h
mm_inline.h mm/uffd: UFFD_FEATURE_WP_UNPOPULATED 2023-04-05 19:42:44 -07:00
mm_types.h Scheduler changes for v6.4: 2023-04-28 14:53:30 -07:00
mm_types_task.h
mman.h mm: implement memory-deny-write-execute as a prctl 2023-02-02 22:33:24 -08:00
mmap_lock.h mm: add per-VMA lock and helper functions to control it 2023-04-05 20:02:57 -07:00
mmdebug.h
mmiotrace.h
mmu_context.h x86/mm/iommu/sva: Make LAM and SVA mutually exclusive 2023-03-16 13:08:40 -07:00
mmu_notifier.h mm/mmu_notifier: remove unused mmu_notifier_range_update_to_read_only export 2023-02-02 22:32:54 -08:00
mmzone.h mm: Multi-gen LRU: remove wait_event_killable() 2023-04-18 16:30:11 -07:00
mnt_idmapping.h fs: move mnt_idmap 2023-01-19 09:24:30 +01:00
mnt_namespace.h
mod_devicetable.h cdx: add the cdx bus driver 2023-03-29 12:26:32 +02:00
module.h modules-6.4-rc1 2023-04-27 16:36:55 -07:00
module_signature.h
module_symbol.h module: Ignore L0 and rename is_arm_mapping_symbol() 2023-04-13 17:15:50 -07:00
moduleloader.h Livepatching changes for 6.3 2023-02-23 14:00:10 -08:00
moduleparam.h
most.h
mount.h Merge branch 'work.namespace' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2023-02-24 19:20:07 -08:00
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 A set of updates for the interrupt susbsystem: 2023-03-05 11:19:16 -08:00
msi_api.h
mtio.h
mutex.h
mutex_api.h
mv643xx.h
mv643xx_eth.h
mv643xx_i2c.h
mvebu-pmsu.h
mxm-wmi.h
namei.h ksmbd: fix racy issue from using ->d_parent and ->d_name 2023-04-24 00:09:20 -05:00
nd.h
ndctl.h
net.h
net_tstamp.h net: add struct kernel_hwtstamp_config and make net_hwtstamp_validate() use it 2023-04-03 10:04:27 +01:00
netdev_features.h
netdevice.h net: optimize napi_threaded_poll() vs RPS/RFS 2023-04-23 13:35:07 +01:00
netfilter.h bpf: add bpf_link support for BPF_NETFILTER programs 2023-04-21 11:34:14 -07:00
netfilter_bridge.h
netfilter_defs.h
netfilter_ipv4.h
netfilter_ipv6.h netfilter: move br_nf_check_hbh_len to utils 2023-03-08 14:25:40 +01:00
netfilter_netdev.h
netfs.h netfs: Add a function to extract an iterator into a scatterlist 2023-02-20 17:25:43 -06:00
netlink.h netlink: Add a macro to set policy message with format string 2023-03-27 19:49:58 -07:00
netpoll.h
nfs.h nfs: move nfs_fhandle_hash to common include file 2023-04-26 09:05:00 -04:00
nfs3.h
nfs4.h
nfs_fs.h NFSv3: handle out-of-order write replies. 2023-04-11 16:13:21 -04:00
nfs_fs_i.h
nfs_fs_sb.h
nfs_iostat.h NFS: Remove all NFSIOS_FSCACHE counters due to conversion to netfs API 2023-04-11 13:08:26 -04:00
nfs_page.h NFS: Convert buffered read paths to use netfs when fscache is enabled 2023-04-11 13:08:26 -04:00
nfs_ssc.h NFSD: enhance inter-server copy cleanup 2023-02-20 09:20:21 -05:00
nfs_xdr.h NFSv4.2: Rework scratch handling for READ_PLUS 2023-04-28 15:48:45 -04:00
nfsacl.h
nitro_enclaves.h
nl802154.h
nls.h
nmi.h x86/nmi: Print reasons why backtrace NMIs are ignored 2023-01-19 15:55:12 -08:00
node.h
nodemask.h
nospec.h uaccess: Add speculation barrier to copy_from_user() 2023-02-21 14:45:22 -08:00
notifier.h srcu: Begin offloading srcu_struct fields to srcu_update 2023-04-04 08:35:34 -07:00
ns_common.h
nsc_gpio.h
nsproxy.h
ntb.h
ntb_transport.h
nubus.h
numa.h
nvme-auth.h
nvme-fc-driver.h
nvme-fc.h
nvme-rdma.h
nvme-tcp.h nvme-tcp: fix nvme_tcp_term_pdu to match spec 2023-03-22 09:19:56 +01:00
nvme.h nvme-trace: show more opcode names 2023-03-15 14:58:52 +01:00
nvmem-consumer.h nvmem: core: introduce NVMEM layouts 2023-04-05 19:41:11 +02:00
nvmem-provider.h nvmem: Add macro to register nvmem layout drivers 2023-04-05 19:41:13 +02:00
nvram.h
objagg.h
objtool.h x86,objtool: Split UNWIND_HINT_EMPTY in two 2023-03-23 23:18:58 +01:00
objtool_types.h x86,objtool: Split UNWIND_HINT_EMPTY in two 2023-03-23 23:18:58 +01:00
of.h Char/Misc drivers for 6.4-rc1 2023-04-27 12:07:50 -07:00
of_address.h of/address: Add of_property_read_reg() helper 2023-04-13 17:46:35 -05:00
of_clk.h
of_device.h Char/Misc drivers for 6.4-rc1 2023-04-27 12:07:50 -07:00
of_dma.h
of_fdt.h
of_gpio.h gpiolib: split of_mm_gpio_chip out of linux/of_gpio.h 2023-03-06 12:33:01 +02:00
of_graph.h
of_iommu.h iommu: Implement of_iommu_get_resv_regions() 2023-01-25 11:48:28 +01:00
of_irq.h
of_mdio.h net: mdio: fix owner field for mdio buses registered using device-tree 2023-03-19 10:48:35 +00:00
of_net.h
of_pci.h
of_pdt.h
of_platform.h of: Drop unnecessary includes in headers 2023-04-13 17:46:34 -05:00
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_lite.h
oom.h
openvswitch.h
osq_lock.h
overflow.h
packing.h
padata.h
page-flags-layout.h
page-flags.h - Nick Piggin's "shoot lazy tlbs" series, to improve the peformance of 2023-04-27 19:42:02 -07:00
page-isolation.h
page_counter.h
page_ext.h init,mm: fold late call to page_ext_init() to page_alloc_init_late() 2023-04-05 19:42:54 -07:00
page_idle.h
page_owner.h
page_ref.h mm: update mmap_sem comments to refer to mmap_lock 2023-01-11 16:14:22 -08:00
page_reporting.h
page_table_check.h
pageblock-flags.h mm, treewide: redefine MAX_ORDER sanely 2023-04-05 19:42:46 -07:00
pagemap.h - Nick Piggin's "shoot lazy tlbs" series, to improve the peformance of 2023-04-27 19:42:02 -07:00
pagevec.h filemap: remove find_get_pages_range_tag() 2023-02-02 22:33:18 -08:00
pagewalk.h mm/hugetlb: make walk_hugetlb_range() safe to pmd unshare 2023-01-18 17:12:39 -08:00
panic.h
panic_notifier.h
parman.h
parport.h parport: remove ax88796 driver 2023-01-16 09:26:06 +01:00
parport_pc.h parport_pc: Let chipset drivers mask ECR bits on writes 2023-01-20 13:12:00 +01:00
parser.h
part_stat.h
pata_arasan_cf_data.h
patchkey.h
path.h
pch_dma.h
pci-acpi.h
pci-ats.h
pci-doe.h PCI/DOE: Make mailbox creation API private 2023-04-18 10:36:58 -07:00
pci-ecam.h
pci-ep-cfs.h
pci-epc.h PCI: endpoint: Use link_up() callback in place of LINK_UP notifier 2023-02-14 07:27:32 +09:00
pci-epf.h PCI: endpoint: Use link_up() callback in place of LINK_UP notifier 2023-02-14 07:27:32 +09:00
pci-p2pdma.h
pci.h cxl for v6.4 2023-04-30 11:51:51 -07:00
pci_hotplug.h
pci_ids.h x86/amd_nb: Add PCI ID for family 19h model 78h 2023-05-08 11:25:19 +02:00
pcs-altera-tse.h
pcs-lynx.h
pcs-rzn1-miic.h
pe.h efi/pe: Import new BTI/IBT header flags from the spec 2023-04-20 15:43:34 +02:00
peci-cpu.h
peci.h
percpu-defs.h sched/core: Always inline __this_cpu_preempt_check() 2023-01-13 11:48:17 +01:00
percpu-refcount.h
percpu-rwsem.h
percpu.h
percpu_counter.h pcpcntr: remove percpu_counter_sum_all() 2023-03-19 10:02:04 -07:00
perf_event.h perf/core: Introduce perf_prepare_header() 2023-01-18 11:57:20 +01:00
perf_event_api.h
perf_regs.h
personality.h
pfn.h
pfn_t.h
pgtable.h mm: add PTE pointer parameter to flush_tlb_fix_spurious_fault() 2023-03-28 16:20:12 -07:00
pgtable_api.h
phonet.h
phy.h mdio_bus: unhide mdio_bus_init prototype 2023-05-17 21:29:09 -07:00
phy_fixed.h
phy_led_triggers.h
phylink.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-04-06 12:01:20 -07:00
pid.h pid: add pidfd_prepare() 2023-04-03 11:16:56 +02:00
pid_namespace.h mm/memfd: add MFD_NOEXEC_SEAL and MFD_EXEC 2023-01-18 17:12:37 -08:00
pim.h
pipe_fs_i.h splice: Add a func to do a splice from a buffered file without ITER_PIPE 2023-02-20 17:25:43 -06:00
pkeys.h
pktcdvd.h Revert "pktcdvd: remove driver." 2023-01-04 14:44:13 -07:00
pl320-ipc.h
platform_device.h platform: Provide a remove callback that returns no value 2023-01-17 19:04:17 +01:00
platform_profile.h
pldmfw.h
plist.h
pm-trace.h
pm.h PM: Add EXPORT macros for exporting PM functions 2023-02-13 19:17:34 +01:00
pm_clock.h
pm_domain.h PM: domains: Allow a genpd consumer to require a synced power off 2023-01-10 11:07:10 -06:00
pm_opp.h
pm_qos.h
pm_runtime.h
pm_wakeirq.h
pm_wakeup.h
pmbus.h
pmu.h
pnp.h
poison.h Networking changes for 6.3. 2023-02-21 18:24:12 -08:00
poll.h
polynomial.h
posix-clock.h
posix-timers.h posix-cpu-timers: Implement the missing timer_wait_running callback 2023-04-21 15:34:33 +02:00
posix_acl.h xattr: simplify listxattr helpers 2023-03-06 09:57:07 +01:00
posix_acl_xattr.h fs: rename generic posix acl handlers 2023-03-06 09:57:13 +01:00
power_supply.h power: supply: core: auto-exposure of simple-battery data 2023-03-29 22:38:56 +02:00
powercap.h
ppp-comp.h
ppp_channel.h
ppp_defs.h
pps_kernel.h
pr.h
prandom.h prandom: remove prandom_u32_max() 2022-12-20 03:13:45 +01:00
preempt.h
prefetch.h
prime_numbers.h
printk.h printk: move size limit macros into internal.h 2023-01-11 15:35:11 +01:00
prmt.h
proc_fs.h
proc_ns.h kill the last remaining user of proc_ns_fget() 2023-04-20 22:55:35 -04:00
processor.h
profile.h
projid.h
property.h device property: make device_property functions take const device * 2023-04-20 14:25:07 +02:00
pruss_driver.h
psci.h
pseudo_fs.h
psi.h sched/psi: Allow unprivileged polling of N*2s period 2023-04-05 09:58:50 +02:00
psi_types.h sched/psi: Allow unprivileged polling of N*2s period 2023-04-05 09:58:50 +02:00
psp-platform-access.h i2c: designware: Use PCI PSP driver for communication 2023-04-20 18:20:05 +08:00
psp-sev.h crypto: ccp - Add a header for multiple drivers to use `__psp_pa` 2023-03-17 11:16:43 +08:00
psp-tee.h
psp.h crypto: ccp - Add support for ringing a platform doorbell 2023-03-17 11:16:43 +08:00
pstore.h
pstore_blk.h
pstore_ram.h
pstore_zone.h
ptdump.h
pti.h
ptp_classify.h net: ptp: add helper for one-step P2P clocks 2023-01-13 08:40:41 +00:00
ptp_clock_kernel.h
ptp_kvm.h ptp: kvm: Use decrypted memory in confidential guest on x86 2023-03-17 21:57:52 -07:00
ptp_pch.h
ptr_ring.h
ptrace.h
ptrace_api.h
purgatory.h
pvclock_gtod.h
pwm.h pwm: Delete deprecated functions pwm_request() and pwm_free() 2023-04-13 14:27:53 +02:00
pwm_backlight.h backlight: pwm_bl: Drop support for legacy PWM probing 2023-02-22 10:55:22 +00:00
pxa2xx_ssp.h
pxa168_eth.h
qnx6_fs.h
quota.h
quotaops.h fs: port i_{g,u}id_{needs_}update() to mnt_idmap 2023-01-19 09:24:29 +01:00
radix-tree.h
raid_class.h scsi: core: Declare SCSI host template pointer members const 2023-03-24 19:19:19 -04:00
ramfs.h
random.h random: do not include <asm/archrandom.h> from random.h 2022-12-20 03:13:45 +01:00
randomize_kstack.h
range.h kernel/range: Uplevel the cxl subsystem's range_contains() helper 2023-02-10 17:32:37 -08:00
ras.h
ratelimit.h
ratelimit_types.h
rational.h
rbtree.h
rbtree_augmented.h lib/rbtree: use '+' instead of '|' for setting color. 2023-04-18 16:39:33 -07:00
rbtree_latch.h
rbtree_types.h
rcu_node_tree.h
rcu_segcblist.h
rcu_sync.h
rculist.h
rculist_bl.h
rculist_nulls.h rcu: Use hlist_nulls_next_rcu() in hlist_nulls_add_tail_rcu() 2023-01-03 17:28:33 -08:00
rcupdate.h mm/slab: document kfree() as allowed for kmem_cache_alloc() objects 2023-03-29 10:35:41 +02:00
rcupdate_trace.h
rcupdate_wait.h
rcuref.h atomics: Provide rcuref - scalable reference counting 2023-03-28 10:39:29 +02:00
rcutiny.h rcu: Refactor kvfree_call_rcu() and high-level helpers 2023-01-03 17:48:40 -08:00
rcutree.h rcu: Refactor kvfree_call_rcu() and high-level helpers 2023-01-03 17:48:40 -08:00
rcuwait.h
rcuwait_api.h
reboot-mode.h
reboot.h
reciprocal_div.h
ref_tracker.h
refcount.h
refcount_api.h
regmap.h regmap: allow upshifting register addresses before performing operations 2023-04-07 17:28:19 +01:00
regset.h
relay.h
remoteproc.h
resctrl.h x86/resctrl: Add interface to write mbm_total_bytes_config 2023-01-23 17:40:30 +01:00
reset-controller.h
reset.h
resource.h
resource_ext.h
restart_block.h
resume_user_mode.h
rethook.h
rfkill.h
rhashtable-types.h
rhashtable.h
ring_buffer.h
rio.h
rio_drv.h
rio_ids.h
rio_regs.h
rmap.h mm/hwpoison: convert TTU_IGNORE_HWPOISON to TTU_HWPOISON 2023-02-27 17:00:14 -08:00
rmi.h
rndis.h
rodata_test.h
root_dev.h
rpmsg.h
rslib.h
rtc.h
rtmutex.h
rtnetlink.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-04-13 16:04:28 -07:00
rtsx_common.h
rtsx_pci.h
rtsx_usb.h
rv.h
rwbase_rt.h
rwlock.h
rwlock_api_smp.h
rwlock_rt.h
rwlock_types.h
rwsem.h
sbitmap.h
scatterlist.h
scc.h
sched.h tracing updates for 6.4: 2023-04-28 15:57:53 -07:00
sched_clock.h
scmi_protocol.h firmware: arm_scmi: Refactor device create/destroy helpers 2023-01-19 09:49:54 +00:00
scpi_protocol.h
screen_info.h
scs.h
sctp.h sctp: delete the nested flexible array payload 2023-04-21 08:19:30 +01:00
scx200.h
scx200_gpio.h
seccomp.h
secretmem.h
securebits.h
security.h v6.4/vfs.misc 2023-04-24 13:39:58 -07:00
sed-opal.h sed-opal: geometry feature reporting command 2023-04-19 14:07:13 -06:00
seg6.h
seg6_genl.h
seg6_hmac.h
seg6_iptunnel.h
seg6_local.h
selection.h
sem.h
semaphore.h Change DEFINE_SEMAPHORE() to take a number argument 2023-04-18 11:15:24 -07:00
seq_buf.h seq_buf: Add seq_buf_do_printk() helper 2023-04-25 21:03:14 -04:00
seq_file.h
seq_file_net.h
seqlock.h
seqlock_api.h
serdev.h serdev: Add method to assert break signal over tty UART port 2023-04-23 21:51:25 -07:00
serial.h serial: 8250: Name MSR literals 2023-01-19 15:01:19 +01:00
serial_8250.h serial: Remove extern from func prototypes in headers 2023-03-17 15:00:40 +01:00
serial_bcm63xx.h
serial_core.h serial: Make hw_stopped bool 2023-03-17 15:00:40 +01:00
serial_max3100.h
serial_s3c.h
serial_sci.h
serio.h
set_memory.h
sfp.h net: sfp: make sfp_bus_find_fwnode() take a const fwnode 2023-03-27 08:12:01 +01:00
sh_clk.h
sh_dma.h
sh_eth.h
sh_intc.h sh: intc: Avoid spurious sizeof-pointer-div warning 2023-02-27 10:49:43 +01:00
sh_timer.h
shdma-base.h
shm.h
shmem_fs.h userfaultfd: convert mfill_atomic() to use a folio 2023-04-18 16:29:55 -07:00
shrinker.h mm: shrinkers: fix race condition on debugfs cleanup 2023-05-17 15:24:33 -07:00
signal.h
signal_types.h
signalfd.h
siox.h
siphash.h
sizes.h
skb_array.h
skbuff.h tls: rx: strp: force mixed decrypted records into copy mode 2023-05-19 08:37:37 +01:00
skmsg.h bpf, sockmap: Improved check for empty queue 2023-05-23 16:10:11 +02:00
slab.h - Nick Piggin's "shoot lazy tlbs" series, to improve the peformance of 2023-04-27 19:42:02 -07:00
slab_def.h mm/kasan: simplify and refine kasan_cache code 2023-01-18 17:12:55 -08:00
slimbus.h
slub_def.h mm/kasan: simplify and refine kasan_cache code 2023-01-18 17:12:55 -08:00
sm501-regs.h
sm501.h
smc91x.h
smp.h SMP cross-CPU function-call updates for v6.4: 2023-04-28 15:03:43 -07:00
smp_types.h
smpboot.h
smsc911x.h
smscphy.h net: phy: smsc: add support for edpd tunable 2023-04-03 10:08:43 +01:00
sock_diag.h
socket.h
sockptr.h
softirq.h
sonet.h
sony-laptop.h
sonypi.h
sort.h
sound.h
soundcard.h
spinlock.h perf: Fix perf_event_pmu_context serialization 2023-01-31 20:37:18 +01:00
spinlock_api.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 rcu: Annotate SRCU's update-side lockdep dependencies 2023-03-27 11:15:59 -07:00
srcutiny.h srcu: Begin offloading srcu_struct fields to srcu_update 2023-04-04 08:35:34 -07:00
srcutree.h Merge branches 'rcu/staging-core', 'rcu/staging-docs' and 'rcu/staging-kfree', remote-tracking branches 'paul/srcu-cf.2023.04.04a', 'fbq/rcu/lockdep.2023.03.27a' and 'fbq/rcu/rcutorture.2023.03.20a' into rcu/staging 2023-04-05 13:50:37 +00:00
ssbi.h
stackdepot.h lib/stackdepot: move documentation comments to stackdepot.h 2023-02-16 20:43:52 -08:00
stackleak.h
stackprotector.h
stacktrace.h
start_kernel.h init: Mark start_kernel() __noreturn 2023-04-14 17:31:23 +02:00
stat.h vfs: plumb i_version handling into struct kstat 2023-01-26 07:00:06 -05:00
statfs.h
static_call.h
static_call_types.h
static_key.h
stdarg.h
stddef.h
stm.h
stmmac.h net: stmmac: dwmac4: Allow platforms to specify some DMA/MTL offsets 2023-04-13 12:50:46 +02:00
stmp3xxx_rtc_wdt.h
stmp_device.h
stop_machine.h
string.h mm: new primitive kvmemdup() 2023-01-18 17:12:47 -08:00
string_helpers.h string_helpers: Move string_is_valid() to the header 2023-02-09 22:30:24 -08:00
stringhash.h
stringify.h
sungem_phy.h
sunserialcore.h
sunxi-rsb.h
superhyway.h
surface_acpi_notify.h
suspend.h PM: Add sysfs files to represent time spent in hardware sleep state 2023-04-20 19:06:12 +02:00
svga.h
sw842.h
swab.h
swait.h
swait_api.h
swap.h mm: correct arg in reclaim_pages()/reclaim_clean_pages_from_list() 2023-04-21 14:52:02 -07:00
swap_cgroup.h
swap_slots.h
swapfile.h
swapops.h mm/hugetlb: move swap entry handling into vma lock when faulted 2023-01-18 17:12:38 -08:00
swiotlb.h dma-mapping updates for Linux 6.4 2023-04-29 10:29:57 -07:00
switchtec.h
sxgbe_platform.h
sync_core.h
sync_file.h
synclink.h
sys.h
sys_soc.h
syscall_user_dispatch.h ptrace: Provide set/get interface for syscall user dispatch 2023-04-16 14:23:07 +02:00
syscalls.h
syscalls_api.h
syscore_ops.h
sysctl.h sysctl: remove register_sysctl_paths() 2023-05-02 19:24:16 -07:00
sysfb.h efi: sysfb_efi: Fix DMI quirks not working for simpledrm 2023-03-18 11:44:57 +01: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: preserve const qualifier in tcp_sk() 2023-03-18 12:23:34 +00:00
tee_drv.h
termios_internal.h
textsearch.h
textsearch_fsm.h
tfrc.h
thermal.h thermal: core: Encapsulate tz->device field 2023-04-27 19:20:12 +02:00
thread_info.h cpuidle, sched: Remove instrumentation from TIF_{POLLING_NRFLAG,NEED_RESCHED} 2023-01-13 11:48:16 +01:00
threads.h
thunderbolt.h
ti-emif-sram.h
ti_wilink_st.h
tick.h tick/nohz: Fix cpu_is_hotpluggable() by checking with nohz subsystem 2023-04-05 13:47:43 +00:00
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
timex.h
tnum.h
topology.h sched/topology: Introduce for_each_numa_hop_mask() 2023-02-07 18:20:00 -08:00
torture.h
toshiba.h
tpm.h tpm: Prevent hwrng from activating during resume 2023-05-16 02:43:12 +03:00
tpm_command.h
tpm_eventlog.h efi: tpm: Avoid READ_ONCE() for accessing the event log 2023-01-13 17:15:17 +01:00
trace.h tracing: Add trace_array_puts() to write into instance 2023-02-07 12:49:56 -05:00
trace_clock.h
trace_events.h tracing: Fix TASK_COMM_LEN in trace event format file 2023-02-12 10:23:39 -05:00
trace_recursion.h cpuidle: tracing: Warn about !rcu_is_watching() 2023-01-31 15:01:46 +01:00
trace_seq.h tracing: Acquire buffer from temparary trace sequence 2023-02-07 12:42:54 -05:00
tracefs.h
tracepoint-defs.h
tracepoint.h Tracing fixes for v6.3 2023-03-14 17:07:54 -07:00
transport_class.h drivers: base: transport_class: fix possible memory leak 2023-01-20 14:22:50 +01:00
ts-nbus.h
tsacct_kern.h
tty.h Driver core changes for 6.4-rc1 2023-04-27 11:53:57 -07:00
tty_buffer.h
tty_driver.h
tty_flip.h
tty_ldisc.h tty/serial: Make ->dcd_change()+uart_handle_dcd_change() status bool active 2023-01-19 16:04:35 +01:00
tty_port.h tty: Call ->dtr_rts() parameter active consistently 2023-01-19 16:04:35 +01:00
typecheck.h
types.h atomics: Provide rcuref - scalable reference counting 2023-03-28 10:39:29 +02:00
u64_stats_sync.h u64_stat: Remove the obsolete fetch_irq() variants. 2023-01-12 20:57:43 -08:00
u64_stats_sync_api.h
uacce.h uacce: supports device isolation feature 2023-01-20 12:06:26 +01:00
uaccess.h mm: Introduce untagged_addr_remote() 2023-03-16 13:08:39 -07:00
ubsan.h arm64: Support Clang UBSAN trap codes for better reporting 2023-02-08 15:26:58 -08:00
ucs2_string.h
udp.h udp: preserve const qualifier in udp_sk() 2023-03-18 12:23:33 +00:00
uidgid.h
uio.h mm: hwpoison: coredump: support recovery from dump_user_range() 2023-05-02 17:21:50 -07:00
uio_driver.h
umh.h
unicode.h
units.h
uprobes.h
usb.h USB / Thunderbolt changes for 6.4-rc1 2023-04-27 11:42:11 -07:00
usb_usual.h
usbdevice_fs.h
user-return-notifier.h
user.h
user_events.h tracing/user_events: Align structs with tabs for readability 2023-03-29 06:52:09 -04:00
user_namespace.h
userfaultfd_k.h - Nick Piggin's "shoot lazy tlbs" series, to improve the peformance of 2023-04-27 19:42:02 -07:00
usermode_driver.h
util_macros.h There is no particular theme here - mainly quick hits all over the tree. 2023-02-23 17:55:40 -08:00
uts.h
utsname.h
uuid.h mei: Move uuid.h to the MEI namespace 2023-03-23 17:25:46 +01:00
vbox_utils.h
vdpa.h virtio-vdpa: add VIRTIO_F_NOTIFICATION_DATA feature support 2023-04-21 03:02:35 -04:00
verification.h
vermagic.h
vexpress.h
vfio.h VFIO updates for v6.4-rc1 2023-05-02 11:56:43 -07:00
vfio_pci_core.h
vfs.h
vga_switcheroo.h
vgaarb.h
vhost_iotlb.h
via-core.h
via-gpio.h
via.h
via_i2c.h
videodev2.h
virtio.h virtio_ring: Use const to annotate read-only pointer params 2023-04-21 03:02:30 -04:00
virtio_anchor.h
virtio_byteorder.h
virtio_caif.h
virtio_config.h docs: driver-api: virtio: virtio on Linux 2023-02-15 06:46:22 -05:00
virtio_console.h
virtio_dma_buf.h
virtio_net.h
virtio_pci_legacy.h
virtio_pci_modern.h
virtio_ring.h virtio_ring: add a struct device forward declaration 2023-04-21 03:02:35 -04:00
virtio_vsock.h vsock: support sockmap 2023-03-29 08:19:38 +01:00
vlynq.h
vm_event_item.h mm: introduce per-VMA lock statistics 2023-04-05 20:03:01 -07:00
vmalloc.h mm: vmalloc: convert vread() to vread_iter() 2023-04-05 19:42:57 -07:00
vmpressure.h
vmstat.h mm: introduce per-VMA lock statistics 2023-04-05 20:03:01 -07:00
vmw_vmci_api.h
vmw_vmci_defs.h
vringh.h vringh: address kdoc warnings 2023-04-21 03:02:34 -04:00
vt.h
vt_buffer.h linux/vt_buffer.h: allow either builtin or modular for macros 2023-04-24 11:48:33 +02:00
vt_kern.h
vtime.h
w1-gpio.h
w1.h
wait.h
wait_api.h
wait_bit.h
watch_queue.h
watchdog.h
win_minmax.h
wireless.h
wkup_m3_ipc.h
wm97xx.h
wmi.h
workqueue.h workqueue: Introduce show_freezable_workqueues 2023-03-23 15:55:38 -10:00
workqueue_api.h
writeback.h btrfs, mm: remove the punt_to_cgroup field in struct writeback_control 2023-04-17 18:01:22 +02:00
ww_mutex.h
wwan.h wwan: core: Support slicing in port TX flow of WWAN subsystem 2023-03-17 22:38:31 -07:00
xarray.h swap_state: update shadow_nodes for anonymous page 2023-02-02 22:33:24 -08:00
xattr.h xattr: remove unused argument 2023-03-06 09:57:11 +01:00
xxhash.h
xz.h
yam.h
zconf.h
zlib.h
zorro.h
zpool.h
zsmalloc.h
zstd.h
zstd_errors.h
zstd_lib.h
zutil.h