linux-stable/include/linux
Breno Leitao e1d001fa5b net: ioctl: Use kernel memory on protocol ioctl callbacks
Most of the ioctls to net protocols operates directly on userspace
argument (arg). Usually doing get_user()/put_user() directly in the
ioctl callback.  This is not flexible, because it is hard to reuse these
functions without passing userspace buffers.

Change the "struct proto" ioctls to avoid touching userspace memory and
operate on kernel buffers, i.e., all protocol's ioctl callbacks is
adapted to operate on a kernel memory other than on userspace (so, no
more {put,get}_user() and friends being called in the ioctl callback).

This changes the "struct proto" ioctl format in the following way:

    int                     (*ioctl)(struct sock *sk, int cmd,
-                                        unsigned long arg);
+                                        int *karg);

(Important to say that this patch does not touch the "struct proto_ops"
protocols)

So, the "karg" argument, which is passed to the ioctl callback, is a
pointer allocated to kernel space memory (inside a function wrapper).
This buffer (karg) may contain input argument (copied from userspace in
a prep function) and it might return a value/buffer, which is copied
back to userspace if necessary. There is not one-size-fits-all format
(that is I am using 'may' above), but basically, there are three type of
ioctls:

1) Do not read from userspace, returns a result to userspace
2) Read an input parameter from userspace, and does not return anything
  to userspace
3) Read an input from userspace, and return a buffer to userspace.

The default case (1) (where no input parameter is given, and an "int" is
returned to userspace) encompasses more than 90% of the cases, but there
are two other exceptions. Here is a list of exceptions:

* Protocol RAW:
   * cmd = SIOCGETVIFCNT:
     * input and output = struct sioc_vif_req
   * cmd = SIOCGETSGCNT
     * input and output = struct sioc_sg_req
   * Explanation: for the SIOCGETVIFCNT case, userspace passes the input
     argument, which is struct sioc_vif_req. Then the callback populates
     the struct, which is copied back to userspace.

* Protocol RAW6:
   * cmd = SIOCGETMIFCNT_IN6
     * input and output = struct sioc_mif_req6
   * cmd = SIOCGETSGCNT_IN6
     * input and output = struct sioc_sg_req6

* Protocol PHONET:
  * cmd == SIOCPNADDRESOURCE | SIOCPNDELRESOURCE
     * input int (4 bytes)
  * Nothing is copied back to userspace.

For the exception cases, functions sock_sk_ioctl_inout() will
copy the userspace input, and copy it back to kernel space.

The wrapper that prepare the buffer and put the buffer back to user is
sk_ioctl(), so, instead of calling sk->sk_prot->ioctl(), the callee now
calls sk_ioctl(), which will handle all cases.

Signed-off-by: Breno Leitao <leitao@debian.org>
Reviewed-by: Willem de Bruijn <willemb@google.com>
Reviewed-by: David Ahern <dsahern@kernel.org>
Reviewed-by: Kuniyuki Iwashima <kuniyu@amazon.com>
Link: https://lore.kernel.org/r/20230609152800.830401-1-leitao@debian.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2023-06-15 22:33:26 -07:00
..
amba
atomic locking/atomic: Correct (cmp)xchg() instrumentation 2023-04-29 09:09:31 +02:00
avf
bcma
byteorder
can can: length: make header self contained 2023-05-15 22:53:49 +02:00
cdx
ceph
clk
comedi
crush
decompress
device driver core: class: properly reference count class_dev_iter() 2023-05-19 11:03:36 +01:00
dma
dsa
extcon
firmware Char/Misc drivers for 6.4-rc1 2023-04-27 12:07:50 -07:00
fpga
fsl
gpio
greybus
hsi
i3c
iio iio: fix doc for iio_gts_find_sel_by_int_time 2023-05-13 17:54:57 +01:00
input
irqchip
isdn
lockd lockd: fix races in client GRANTED_MSG wait logic 2023-04-26 09:05:00 -04:00
mailbox
mdio net: mdio: Introduce a regmap-based mdio driver 2023-06-05 09:56:36 +01:00
mfd pwm: Changes for v6.4-rc1 2023-05-03 11:25:01 -07:00
mlx4
mlx5 Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-06-15 22:19:41 -07:00
mmc mmc: sdio: Add/rename SDIO ID of the RTL8723DS SDIO wifi cards 2023-05-25 19:09:39 +03: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 10GBASE-R mode for Synopsys Designware XPCS 2023-06-08 13:25:10 +02:00
pds pds_core: publish events to the clients 2023-04-21 08:29:13 +01:00
perf
phy
pinctrl
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
reset
rpmsg
rtc
sched fork, vhost: Use CLONE_THREAD to fix freezer/ps regression 2023-06-01 17:15:33 -04:00
soc EDAC/qcom: Get rid of hardcoded register offsets 2023-05-26 20:56:55 -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
sunrpc sunrpc: Use sendmsg(MSG_SPLICE_PAGES) rather then sendpage 2023-06-12 21:13:23 -07:00
surface_aggregator platform/surface: aggregator: Make to_ssam_device_driver() respect constness 2023-05-30 11:20:02 +02:00
ulpi
unaligned
usb usb: usbfs: Enforce page requirements for mmap 2023-05-29 16:14:28 +01: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
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
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-emulation.h
apm_bios.h
apple-gmux.h
apple-mailbox.h
arch_topology.h
arm-cci.h
arm-smccc.h
arm_ffa.h firmware: arm_ffa: Fix FFA device names for logical partitions 2023-05-08 20:40:46 +01:00
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_platform.h
atalk.h
ath9k_platform.h
atm.h
atm_tcp.h
atmdev.h
atmel-isc-media.h
atmel-mci.h
atmel-ssc.h
atmel_pdc.h
atomic.h
attribute_container.h
audit.h
audit_arch.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 btrfs, block: move REQ_CGROUP_PUNT to btrfs 2023-04-17 18:01:22 +02:00
bit_spinlock.h
bitfield.h
bitmap.h
bitops.h
bitrev.h
bits.h
blk-cgroup.h
blk-crypto-profile.h
blk-crypto.h
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
bootmem_info.h
bottom_half.h
bpf-cgroup-defs.h
bpf-cgroup.h
bpf-netns.h
bpf.h bpf: Support O_PATH FDs in BPF_OBJ_PIN and BPF_OBJ_GET commands 2023-05-23 23:31:42 +02:00
bpf_lirc.h
bpf_local_storage.h
bpf_lsm.h
bpf_mem_alloc.h
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: improve precision backtrack logging 2023-05-04 22:35:35 -07:00
bpfilter.h
bpfptr.h
brcmphy.h net: phy: broadcom: Add support for setting LED brightness 2023-06-09 10:38:43 +01:00
bsearch.h
bsg-lib.h
bsg.h
btf.h bpf: Add kfunc filter function to 'struct btf_kfunc_id_set' 2023-05-19 22:44:14 -07:00
btf_ids.h
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
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
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
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
compiler_types.h
completion.h
component.h
configfs.h
connector.h
console.h
console_struct.h
consolemap.h
const.h
container.h
container_of.h
context_tracking.h Objtool changes for v6.4: 2023-04-28 14:02:54 -07:00
context_tracking_irq.h
context_tracking_state.h
cookie.h
cordic.h
coredump.h
coresight-pmu.h
coresight-stm.h
coresight.h
count_zeros.h
counter.h
cper.h efi: fix missing prototype warnings 2023-05-25 09:26:19 +02:00
cpu.h
cpu_cooling.h
cpu_pm.h
cpu_rmap.h
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_haltpoll.h
cpumask.h
cpumask_api.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 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
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 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
devfreq_cooling.h
device-mapper.h dm: unexport dm_get_queue_limits() 2023-04-14 12:32:20 -04:00
device.h
device_cgroup.h
devm-helpers.h
devpts_fs.h
dfl.h
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
dlm_plock.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-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.h
drbd_config.h
drbd_genl.h
drbd_genl_api.h
drbd_limits.h
ds2782_battery.h
dtlk.h
dtpm.h
dw_apb_timer.h
dynamic_debug.h
dynamic_queue_limits.h
earlycpio.h
ecryptfs.h
edac.h
edd.h
eeprom_93cx6.h
eeprom_93xx46.h
efi-bgrt.h
efi.h efi: fix missing prototype warnings 2023-05-25 09:26:19 +02:00
efi_embedded_fw.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.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
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
fault-inject-usercopy.h
fault-inject.h fault-inject: allow configuration via configfs 2023-04-13 07:38:54 -06:00
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 bpf: Support 64-bit pointers to kfuncs 2023-04-13 21:36:41 -07:00
find.h
fips.h
firewire.h firewire: Replace zero-length array with flexible-array member 2023-06-01 22:41:14 +09: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
frontswap.h
fs.h Remove file->f_op->sendpage 2023-06-12 21:13:23 -07:00
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
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
fwnode_mdio.h
gameport.h
gcd.h
genalloc.h
generic-radix-tree.h
genetlink.h
genl_magic_func.h
genl_magic_struct.h
getcpu.h
gfp.h
gfp_api.h
gfp_types.h
glob.h
gnss.h
goldfish.h
gpio-pxa.h
gpio.h
gpio_keys.h
greybus.h
group_cpus.h
hardirq.h
hash.h
hashtable.h
hashtable_api.h
hdlc.h
hdlcdrv.h
hdmi.h
hex.h
hid-debug.h
hid-roccat.h
hid-sensor-hub.h
hid-sensor-ids.h
hid.h
hid_bpf.h
hidden.h
hiddev.h
hidraw.h
highmem-internal.h
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
hmm.h
host1x.h
host1x_context_bus.h
hp_sdc.h
hpet.h
hrtimer.h
hrtimer_api.h
hrtimer_defs.h
hte.h
huge_mm.h
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
hugetlb_inline.h
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 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 net: ioctl: Use kernel memory on protocol ioctl callbacks 2023-06-15 22:33:26 -07:00
idle_inject.h
idr.h
ieee80211.h wifi: mac80211: provide a helper to fetch the medium synchronization delay 2023-06-06 14:15:16 +02:00
ieee802154.h
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
ihex.h
ima.h
imx-media.h
in.h
in6.h
indirect_call_wrapper.h
inet.h
inet_diag.h
inetdevice.h
init.h
init_ohci1394_dma.h
init_syscalls.h
init_task.h
initrd.h
inotify.h
input.h
instruction_pointer.h
instrumentation.h
instrumented.h
integrity.h
intel-ish-client-if.h
intel_rapl.h
intel_tcc.h
intel_th.h
intel_tpmi.h
interconnect-provider.h
interconnect.h
interrupt.h
interval_tree.h
interval_tree_generic.h
io-64-nonatomic-hi-lo.h
io-64-nonatomic-lo-hi.h
io-mapping.h
io-pgtable.h
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
iopoll.h
ioport.h
ioprio.h
iosys-map.h
iova.h
iova_bitmap.h
ip.h
ipack.h
ipc.h
ipc_namespace.h
ipmi.h
ipmi_smi.h
ipv6.h
ipv6_route.h
irq.h
irq_poll.h
irq_sim.h
irq_work.h
irqbypass.h
irqchip.h
irqdesc.h
irqdomain.h
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
iversion.h
jbd2.h
jhash.h
jiffies.h
journal-head.h
joystick.h
jump_label.h
jump_label_ratelimit.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
kdebug.h
kdev_t.h
kern_levels.h
kernel-page-flags.h
kernel.h
kernel_read_file.h
kernel_stat.h
kernelcapi.h
kernfs.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-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_api.h
kobject_ns.h
kprobes.h
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_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 leds: trigger: netdev: expose netdev trigger modes in linux include 2023-05-31 09:42:09 +01:00
libata.h
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
libps2.h
license.h
limits.h
linear_range.h
linkage.h
linkmode.h
linux_logo.h
lis3lv02d.h
list.h
list_bl.h
list_lru.h
list_nulls.h
list_sort.h
litex.h
livepatch.h
livepatch_sched.h
llc.h
llist.h
llist_api.h
local_lock.h
local_lock_internal.h
lockdep.h Two fixes for debugobjects: 2023-05-28 07:15:33 -04:00
lockdep_api.h
lockdep_types.h debugobjects,locking: Annotate debug_object_fill_pool() wait type violation 2023-05-02 14:48:14 +02:00
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 lsm/stable-6.4 PR 20230420 2023-04-24 11:21:50 -07:00
lz4.h
lzo.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
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 net: mdio: add mdio_device_get() and mdio_device_put() 2023-05-29 21:46:53 -07:00
mei_aux.h
mei_cl_bus.h
mem_encrypt.h
memblock.h
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
memremap.h
memstick.h
mhi.h
mhi_ep.h
micrel_phy.h
microchipphy.h
migrate.h
migrate_mode.h
mii.h
mii_timestamper.h
min_heap.h
minmax.h
misc_cgroup.h
miscdevice.h
mISDNdsp.h
mISDNhw.h
mISDNif.h
mm.h 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_types.h Scheduler changes for v6.4: 2023-04-28 14:53:30 -07:00
mm_types_task.h
mman.h
mmap_lock.h
mmdebug.h
mmiotrace.h
mmu_context.h
mmu_notifier.h
mmzone.h mm: Multi-gen LRU: remove wait_event_killable() 2023-04-18 16:30:11 -07:00
mnt_idmapping.h
mnt_namespace.h
mod_devicetable.h
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
moduleparam.h
most.h
mount.h
moxtet.h
mpage.h
mpi.h
mpls.h
mpls_iptunnel.h
mroute.h net: ioctl: Use kernel memory on protocol ioctl callbacks 2023-06-15 22:33:26 -07:00
mroute6.h net: ioctl: Use kernel memory on protocol ioctl callbacks 2023-06-15 22:33:26 -07:00
mroute_base.h
msdos_fs.h
msdos_partition.h
msg.h
msi.h x86/pci/xen: populate MSI sysfs entries 2023-05-24 18:08:49 +02: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 scm: add SO_PASSPIDFD and SCM_PIDFD 2023-06-12 10:45:49 +01:00
net_tstamp.h
netdev_features.h
netdevice.h net: create device lookup API with reference tracking 2023-06-15 08:21:11 +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_netdev.h
netfs.h Move netfs_extract_iter_to_sg() to lib/scatterlist.c 2023-06-08 13:42:33 +02:00
netlink.h netlink: support extack in dump ->start() 2023-06-12 11:32:44 +01: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
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
node.h
nodemask.h
nospec.h
notifier.h
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.h
nvmem-consumer.h
nvmem-provider.h
nvram.h
objagg.h
objtool.h
objtool_types.h
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
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: 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 mm: page_table_check: Ensure user pages are not slab pages 2023-05-29 16:14:28 +01:00
page-isolation.h
page_counter.h
page_ext.h
page_idle.h
page_owner.h
page_ref.h
page_reporting.h
page_table_check.h
pageblock-flags.h
pagemap.h - Nick Piggin's "shoot lazy tlbs" series, to improve the peformance of 2023-04-27 19:42:02 -07:00
pagevec.h
pagewalk.h
panic.h
panic_notifier.h
parman.h
parport.h
parport_pc.h
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-epf.h
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-lynx.h net: pcs: lynx: make lynx_pcs_create() static 2023-06-08 19:19:50 -07:00
pcs-rzn1-miic.h
pe.h efi: Bump stub image version for macOS HVF compatibility 2023-05-28 20:45:46 +02:00
peci-cpu.h
peci.h
percpu-defs.h
percpu-refcount.h
percpu-rwsem.h
percpu.h
percpu_counter.h
perf_event.h
perf_event_api.h
perf_regs.h
personality.h
pfn.h
pfn_t.h
pgtable.h
pgtable_api.h
phonet.h
phy.h net: phylib: fix phy_read*_poll_timeout() 2023-06-02 23:20:31 -07:00
phy_fixed.h
phy_led_triggers.h
phylink.h net: phylink: add function to resolve clause 73 negotiation 2023-05-24 09:13:22 -07:00
pid.h
pid_namespace.h
pim.h
pipe_fs_i.h
pkeys.h
pktcdvd.h
pl320-ipc.h
platform_device.h
platform_profile.h
pldmfw.h
plist.h
pm-trace.h
pm.h
pm_clock.h
pm_domain.h
pm_opp.h
pm_qos.h
pm_runtime.h
pm_wakeirq.h
pm_wakeup.h
pmbus.h
pmu.h
pnp.h
poison.h
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
posix_acl_xattr.h
power_supply.h
powercap.h
ppp-comp.h
ppp_channel.h
ppp_defs.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 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
psi_types.h
psp-platform-access.h i2c: designware: Use PCI PSP driver for communication 2023-04-20 18:20:05 +08:00
psp-sev.h
psp-tee.h
psp.h
pstore.h
pstore_blk.h
pstore_ram.h
pstore_zone.h
ptdump.h
pti.h
ptp_classify.h
ptp_clock_kernel.h
ptp_kvm.h
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
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.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
rcupdate.h
rcupdate_trace.h
rcupdate_wait.h
rcuref.h
rcutiny.h
rcutree.h
rcuwait.h
rcuwait_api.h
reboot-mode.h
reboot.h
reciprocal_div.h
ref_tracker.h lib/ref_tracker: add printing to memory buffer 2023-06-05 15:28:42 -07:00
refcount.h
refcount_api.h
regmap.h
regset.h
relay.h
remoteproc.h
resctrl.h
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
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
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.h
serial_bcm63xx.h
serial_core.h
serial_max3100.h
serial_s3c.h
serial_sci.h
serio.h
set_memory.h
sfp.h net: sfp: add support for rate selection 2023-05-18 19:52:31 -07:00
sh_clk.h
sh_dma.h
sh_eth.h
sh_intc.h
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 net: move gso declarations and functions to their own files 2023-06-10 00:11:41 -07: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
slimbus.h
slub_def.h
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
sock_diag.h
socket.h scm: add SO_PASSPIDFD and SCM_PIDFD 2023-06-12 10:45:49 +01:00
sockptr.h
softirq.h
sonet.h
sony-laptop.h
sonypi.h
sort.h
sound.h
soundcard.h
spinlock.h
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 splice, net: Add a splice_eof op to file-ops and socket-ops 2023-06-08 19:40:30 -07:00
spmi.h
sram.h
srcu.h
srcutiny.h
srcutree.h
ssbi.h
stackdepot.h
stackleak.h
stackprotector.h
stacktrace.h
start_kernel.h init: Mark start_kernel() __noreturn 2023-04-14 17:31:23 +02:00
stat.h
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
string_helpers.h
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
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
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
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
threads.h
thunderbolt.h
ti-emif-sram.h
ti_wilink_st.h
tick.h
tifm.h
timb_dma.h
timb_gpio.h
time.h
time32.h
time64.h
time_namespace.h
timecounter.h
timekeeper_internal.h
timekeeping.h
timer.h
timerfd.h
timeriomem-rng.h
timerqueue.h
timex.h
tnum.h
topology.h
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
trace.h
trace_clock.h
trace_events.h tracing: Rename stacktrace field to common_stacktrace 2023-05-23 23:38:23 -04:00
trace_recursion.h
trace_seq.h
tracefs.h
tracepoint-defs.h
tracepoint.h
transport_class.h
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_port.h
typecheck.h
types.h
u64_stats_sync.h
u64_stats_sync_api.h
uacce.h
uaccess.h
ubsan.h
ucs2_string.h
udp.h
uidgid.h
uio.h Move netfs_extract_iter_to_sg() to lib/scatterlist.c 2023-06-08 13:42:33 +02: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: Document user_event_mm one-shot list usage 2023-05-23 21:08:33 -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
uts.h
utsname.h
uuid.h
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
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
vlynq.h
vm_event_item.h
vmalloc.h
vmpressure.h
vmstat.h
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_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
xarray.h
xattr.h
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