linux/include/uapi/linux
Mark Harmstone c6153ed23e btrfs: add ioctl GET_CSUMS to read raw checksums from file range
Add a new unprivileged BTRFS_IOC_GET_CSUMS ioctl, which can be used to
query the on-disk csums for a file range.

The ioctl is deliberately per-file rather than exposing raw csum tree
lookups, to avoid leaking information to users about files they may not
have access to.

This is done by userspace passing a struct btrfs_ioctl_get_csums_args to
the kernel, which details the offset and length we're interested in, and
a buffer for the kernel to write its results into. The kernel writes a
struct btrfs_ioctl_get_csums_entry into the buffer, followed by the
csums if available. The maximum size of the user buffer is capped to
16MiB.

If the extent is an uncompressed, non-NODATASUM extent, the kernel sets
the entry type to BTRFS_GET_CSUMS_HAS_CSUMS and follows it with the
csums. If it is sparse, preallocated, or beyond the EOF, it sets the
type to BTRFS_GET_CSUMS_ZEROED - this is so userspace knows it can use
the precomputed hash of the zero sector. Otherwise, it sets the type to
BTRFS_GET_CSUMS_NODATASUM, BTRFS_GET_CSUMS_COMPRESSED,
BTRFS_GET_CSUM_ENCRYPTED, or BTRFS_GET_CSUM_INLINE.

For example, a file with a [0, 4K) hole and [4K, 12K) data extent would
produce the following output buffer:

  | [0, 4K) ZEROED | [4K, 12K) HAS_CSUMS | csum data |

We do store the csums of compressed extents, but we deliberately don't
return them here: they're calculated over the compressed data, not the
uncompressed data that's returned to userspace. Similarly for encrypted
data, once encryption is supported, in which the csums will be on the
ciphertext.

The main use case for this is for speeding up mkfs.btrfs --rootdir. For
the case when the source FS is btrfs and using the same csum algorithm,
we can avoid having to recalculate the csums - in my synthetic
benchmarks (16GB file on a spinning-rust drive), this resulted in a ~11%
speed-up (218s to 196s).

When using the --reflink option added in btrfs-progs v6.16.1, we can forgo
reading the data entirely, resulting a ~2200% speed-up on the same test
(128s to 6s).

    # mkdir rootdir
    # dd if=/dev/urandom of=rootdir/file bs=4096 count=4194304

    (without ioctl)
    # echo 3 > /proc/sys/vm/drop_caches
    # time mkfs.btrfs --rootdir rootdir testimg
    ...
    real    3m37.965s
    user    0m5.496s
    sys     0m6.125s

    # echo 3 > /proc/sys/vm/drop_caches
    # time mkfs.btrfs --rootdir rootdir --reflink testimg
    ...
    real    2m8.342s
    user    0m5.472s
    sys     0m1.667s

    (with ioctl)
    # echo 3 > /proc/sys/vm/drop_caches
    # time mkfs.btrfs --rootdir rootdir testimg
    ...
    real    3m15.865s
    user    0m4.258s
    sys     0m6.261s

    # echo 3 > /proc/sys/vm/drop_caches
    # time mkfs.btrfs --rootdir rootdir --reflink testimg
    ...
    real    0m5.847s
    user    0m2.899s
    sys     0m0.097s

Another notable use case is for deduplication, where reading the
checksums may serve as a hint instead of reading the whole file data.

Reviewed-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: Mark Harmstone <mark@harmstone.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2026-06-08 15:53:29 +02:00
..
android binder: fix trivial typo in uapi header 2025-12-29 11:58:52 +01:00
byteorder
can can: netlink: add PWM netlink interface 2025-11-26 11:20:43 +01:00
cifs
counter counter: microchip-tcb-capture: Add capture extensions for registers RA/RB 2025-03-08 08:57:18 +09:00
dvb media: dvb: Fix dtvs_stats packing. 2024-04-15 13:42:38 +02:00
genwqe
hdlc
hsi
iio iio: add power and energy measurement modifiers 2025-09-13 13:47:19 +01:00
io_uring io_uring/zcrx: implement device-less mode for zcrx 2026-04-01 10:21:12 -06:00
media media: uapi: mali-c55-config: Remove version identifier 2026-01-06 10:14:13 +01:00
misc
mmc
netfilter netfilter: nf_tables: add netlink policy based cap on registers 2026-04-08 07:51:31 +02:00
netfilter_arp
netfilter_bridge netfilter: ebtables: replace zero-length array members 2023-08-22 15:13:20 +02:00
netfilter_ipv4
netfilter_ipv6 netfilter: ip6t_srh: fix UAPI kernel-doc comments format 2025-11-28 00:07:19 +00:00
nfsd NFSD/export: Add sign_fh export option 2026-03-29 21:25:09 -04:00
raid md: allow configuring logical block size 2025-11-11 11:20:15 +08:00
sched sched/deadline: Clarify nanoseconds in uapi 2024-09-11 11:23:56 +02:00
spi spi: Enable controllers to extend the SPI protocol with MOSI idle configuration 2024-07-29 01:19:51 +01:00
sunrpc
surface_aggregator
tc_act net: sched: Annotate struct tc_pedit with __counted_by 2024-02-19 10:58:24 +00:00
tc_ematch
usb USB: uapi: add BULK_MAX_PACKET_UPDATE 2026-03-30 16:55:36 +02:00
a.out.h
acct.h
acrn.h virt: acrn: split acrn_mmio_dev_res out of acrn_mmiodev 2025-11-26 15:09:24 +01:00
adb.h
adfs_fs.h
affs_hardblocks.h block: change all __u32 annotations to __be32 in affs_hardblocks.h 2023-06-20 14:28:17 -06:00
agpgart.h
aio_abi.h
am437x-vpfe.h
amt.h
apm_bios.h
arcfb.h
arm_sdei.h
aspeed-lpc-ctrl.h
aspeed-p2a-ctrl.h
aspeed-video.h media: aspeed: Allow to capture from SoC display (GFX) 2025-08-29 11:04:02 +02:00
atalk.h
atm_eni.h
atm_he.h
atm_idt77105.h
atm_nicstar.h
atm_tcp.h
atm_zatm.h
atm.h
atmapi.h
atmarp.h
atmbr2684.h
atmclip.h
atmdev.h Move COMPAT_ATM_ADDPARTY to net/atm/svc.c 2023-03-10 21:05:16 +01:00
atmioc.h
atmlec.h
atmmpc.h
atmppp.h
atmsap.h
atmsvc.h
audit.h audit: fix coding style issues 2026-03-05 22:16:08 -05:00
auto_dev-ioctl.h autofs: use flexible array in ioctl structure 2023-05-30 16:42:00 -07:00
auto_fs.h autofs: add per dentry expire timeout 2024-08-30 08:22:36 +02:00
auto_fs4.h
auxvec.h uapi/auxvec: Define AT_HWCAP3 and AT_HWCAP4 aux vector, entries 2024-02-16 12:42:59 +11:00
ax25.h
batadv_packet.h batman-adv: Add flex array to struct batadv_tvlv_tt_data 2024-10-05 18:23:38 +02:00
batman_adv.h batman-adv: Use consistent name for mesh interface 2025-02-22 11:36:22 +01:00
bcm933xx_hcs.h
bfs_fs.h
binfmts.h
bits.h uapi: bitops: use UAPI-safe variant of BITS_PER_LONG again (2) 2025-07-08 10:23:13 -04:00
blk-crypto.h blk-crypto: add ioctls to create and prepare hardware-wrapped keys 2025-02-10 09:54:19 -07:00
blkdev.h block: implement async io_uring discard cmd 2024-09-11 10:45:28 -06:00
blkpg.h
blktrace_api.h blktrace: add support for REQ_OP_WRITE_ZEROES tracing 2025-11-03 08:30:56 -07:00
blkzoned.h block: make the new blkzoned UAPI constants discoverable 2026-01-21 07:47:44 -07:00
bpf_common.h
bpf_perf_event.h
bpf.h bpf: Clarify BPF_RB_NO_WAKEUP behavior for bpf_ringbuf_discard() 2026-03-31 15:46:34 -07:00
bpqether.h
bsg.h bsg: add bsg_uring_cmd uapi structure 2026-03-19 11:38:24 -06:00
bt-bmc.h
btf.h btf: Add BTF kind layout encoding to UAPI 2026-03-26 13:53:56 -07:00
btrfs_tree.h btrfs: tree-checker: introduce checks for FREE_SPACE_INFO 2026-04-07 18:56:01 +02:00
btrfs.h btrfs: add ioctl GET_CSUMS to read raw checksums from file range 2026-06-08 15:53:29 +02:00
cachefiles.h
can.h can: canxl: support Remote Request Substitution bit access 2025-02-19 11:10:54 +01:00
capability.h uapi: fix broken link in linux/capability.h 2025-07-04 19:21:53 -05:00
cciss_defs.h
cciss_ioctl.h
ccs.h
cdrom.h
cec-funcs.h media: uapi: cec-funcs.h: use CEC_LOG_ADDR_BROADCAST 2025-04-30 08:16:07 +02:00
cec.h media: uapi/linux/cec.h: cec_msg_set_reply_to: zero flags 2024-08-08 15:23:21 +02:00
cfm_bridge.h
cgroupstats.h cgroup: remove obsolete comment above struct cgroupstats 2023-07-14 08:43:49 -10:00
chio.h
close_range.h
cn_proc.h connector: Fix invalid conversion in cn_proc.h 2024-05-24 10:36:55 +01:00
coda.h
coff.h
comedi.h comedi: Fix getting range information for subdevices 16 to 255 2026-01-16 16:42:15 +01:00
connector.h
const.h uapi: Provide DIV_ROUND_CLOSEST() 2026-03-18 09:59:57 +00:00
coredump.h coredump: allow for flexible coredump handling 2025-06-12 14:00:18 +02:00
coresight-stm.h
counter.h counter: add direction change event 2025-02-05 13:22:04 +09:00
cramfs_fs.h
cryptouser.h crypto: sig - Introduce sig_alg backend 2024-10-05 13:22:04 +08:00
cuda.h
cxl_mem.h cxl/mbox: Add Clear Log mailbox command 2024-04-30 08:48:10 -07:00
cyclades.h
cycx_cfm.h
dcbnl.h
dccp.h
dev_energymodel.h PM: EM: Add dump to get-perf-domains in the EM YNL spec 2026-01-09 21:44:46 +01:00
devlink.h devlink: Add resource scope filtering to resource dump 2026-04-08 19:55:39 -07:00
dlm_device.h
dlm_plock.h fs: dlm: allow to F_SETLKW getting interrupted 2023-07-20 17:24:57 -05:00
dlm.h dlm: introduce DLM_LSFL_SOFTIRQ_SAFE 2024-06-11 12:57:49 -05:00
dlmconstants.h fs: dlm: remove deprecated code parts 2023-03-06 15:49:07 -06:00
dm-ioctl.h dm mpath: Interface for explicit probing of active paths 2025-05-04 11:35:06 +02:00
dm-log-userspace.h
dma-buf.h dma-buf: Include ioctl.h in UAPI header 2026-03-03 08:55:39 +01:00
dma-heap.h dma-buf: align fd_flags and heap_flags with dma_heap_allocation_data 2024-06-05 14:52:15 +05:30
dns_resolver.h
dpll.h dpll: add frequency monitoring to netlink spec 2026-04-03 16:48:01 -07:00
dqblk_xfs.h
dw100.h
edd.h
efs_fs_sb.h
elf-em.h
elf-fdpic.h binfmt_elf_fdpic: support 64-bit systems 2023-08-23 14:17:42 -07:00
elf.h riscv/ptrace: expose riscv CFI status and state via ptrace and in core files 2026-01-29 02:38:40 -07:00
errno.h
errqueue.h net-timestamp: COMPLETION timestamp on packet tx completion 2025-03-25 12:48:05 -04:00
erspan.h
ethtool_netlink_generated.h net: ethtool: add ethtool COALESCE_RX_CQE_FRAMES/NSECS 2026-03-18 20:01:10 -07:00
ethtool_netlink.h netlink: specs: add the multicast group name to spec 2025-06-25 15:24:13 -07:00
ethtool.h net: ethtool: Update doc for tunable 2026-03-05 16:26:52 +01:00
eventfd.h eventfd: add a uapi header for eventfd userspace APIs 2023-06-15 14:55:15 +02:00
eventpoll.h eventpoll: Add epoll ioctl for epoll_params 2024-02-14 11:01:01 +00:00
exfat.h exfat: Implement sops->shutdown and ioctl 2024-09-18 07:40:56 +09:00
ext4.h ext4: fix ext4_tune_sb_params padding 2026-01-18 11:22:53 -05:00
f2fs.h f2fs: add ioctl to get IO priority hint 2025-02-12 02:29:30 +00:00
fadvise.h
falloc.h fs: introduce FALLOC_FL_WRITE_ZEROES to fallocate 2025-06-23 12:45:13 +02:00
fanotify.h fanotify: notify on mount attach and detach 2025-02-05 17:21:07 +01:00
fb.h video: fb: Fix typo in comment in fb.h 2025-10-28 22:59:19 +01:00
fcntl.h vfs: use UAPI types for new struct delegation definition 2025-12-05 13:57:39 +01:00
fd.h
fdreg.h
fib_rules.h net: add UAPI to the header guard in various network headers 2025-04-17 19:04:50 -07:00
fiemap.h fiemap: use kernel-doc includes in fiemap docbook 2024-12-22 11:29:50 +01:00
filter.h
firewire-cdev.h drivers: firewire: firewire-cdev.h: fix identation on a kernel-doc markup 2025-03-04 09:47:36 -07:00
firewire-constants.h
fou.h tools: ynl-gen: add regeneration comment 2025-11-25 19:20:42 -08:00
fpga-dfl.h
fs.h fs: add generic FS_IOC_SHUTDOWN definitions 2026-02-19 21:48:05 +09:00
fscrypt.h fscrypt: add support for hardware-wrapped keys 2025-04-08 19:32:11 -07:00
fsi.h fsi: sbefifo: Add configurable in-command timeout 2023-08-09 15:43:27 +09:30
fsl_hypervisor.h
fsl_mc.h
fsmap.h
fsverity.h
fuse.h fuse: add prune notification 2025-09-05 09:11:28 +02:00
futex.h futex: Implement FUTEX2_MPOL 2025-05-03 12:02:09 +02:00
gameport.h
gen_stats.h
genetlink.h
gfs2_ondisk.h
gpib_ioctl.h staging: gpib: Destage gpib 2025-11-24 17:52:11 +01:00
gpib.h staging: gpib: Destage gpib 2025-11-24 17:52:11 +01:00
gpio.h gpio: uapi: clarify default_values being logical 2024-02-15 08:44:57 +01:00
gsmmux.h tty: n_gsm: add copyright Siemens Mobility GmbH 2023-10-27 09:21:13 +02:00
gtp.h gtp: add IPv6 support 2024-05-07 01:35:57 +02:00
handshake.h tools: ynl-gen: add regeneration comment 2025-11-25 19:20:42 -08:00
hash_info.h crypto: FIPS 202 SHA-3 register in hash info for IMA 2023-10-27 18:04:30 +08:00
hdlc.h
hdreg.h
hid.h
hiddev.h
hidraw.h HID: hidraw: tighten ioctl command parsing 2025-09-17 11:37:23 +02:00
hpet.h
hsr_netlink.h
hw_breakpoint.h Move bp_type_idx to include/linux/hw_breakpoint.h 2023-03-10 21:05:16 +01:00
hyperv.h hyper-v: Mark inner union in hv_kvp_exchg_msg_value as packed 2026-01-16 15:00:54 -07:00
i2c-dev.h
i2c.h i2c: i2c.h: fix a bad kernel-doc line 2025-11-29 21:39:58 +09:00
i2o-dev.h
i8k.h hwmon: (dell-smm) Add support for automatic fan mode 2025-09-24 07:50:09 -07:00
icmp.h
icmpv6.h netfilter: conntrack: fix ct-state for ICMPv6 Multicast Router Discovery 2024-05-06 11:13:56 +02:00
idxd.h dmaengine: idxd: uapi: use UAPI types 2025-12-23 12:29:14 +05:30
if_addr.h net: add UAPI to the header guard in various network headers 2025-04-17 19:04:50 -07:00
if_addrlabel.h net: add UAPI to the header guard in various network headers 2025-04-17 19:04:50 -07:00
if_alg.h crypto: af_alg - Annotate struct af_alg_iv with __counted_by 2026-01-14 14:43:18 -08:00
if_arcnet.h net: add UAPI to the header guard in various network headers 2025-04-17 19:04:50 -07:00
if_arp.h
if_bonding.h net: add UAPI to the header guard in various network headers 2025-04-17 19:04:50 -07:00
if_bridge.h net: bridge: Introduce UAPI for BR_BOOLOPT_FDB_LOCAL_VLAN_0 2025-09-11 19:02:50 -07:00
if_eql.h
if_ether.h if_ether.h: Clarify ethertype validity for gsw1xx dsa 2025-11-27 17:46:54 -08:00
if_fc.h net: add UAPI to the header guard in various network headers 2025-04-17 19:04:50 -07:00
if_fddi.h
if_hippi.h net: add UAPI to the header guard in various network headers 2025-04-17 19:04:50 -07:00
if_infiniband.h
if_link.h net: bridge: add stp_mode attribute for STP mode selection 2026-04-10 15:52:24 -07:00
if_ltalk.h
if_macsec.h
if_packet.h net: add UAPI to the header guard in various network headers 2025-04-17 19:04:50 -07:00
if_phonet.h
if_plip.h net: add UAPI to the header guard in various network headers 2025-04-17 19:04:50 -07:00
if_ppp.h
if_pppol2tp.h
if_pppox.h pppoe: remove kernel-mode relay support 2026-02-26 11:41:00 +01:00
if_slip.h net: add UAPI to the header guard in various network headers 2025-04-17 19:04:50 -07:00
if_team.h tools: ynl-gen: add regeneration comment 2025-11-25 19:20:42 -08:00
if_tun.h tun: enable gso over UDP tunnel support. 2025-07-08 18:07:26 +02:00
if_tunnel.h pfcp: always set pfcp metadata 2024-04-01 10:49:28 +01:00
if_vlan.h
if_x25.h net: add UAPI to the header guard in various network headers 2025-04-17 19:04:50 -07:00
if_xdp.h net: xsk: introduce XDP_MAX_TX_SKB_BUDGET setsockopt 2025-07-10 14:48:29 +02:00
if.h
ife.h
igmp.h
ila.h
in_route.h ipv4: Fix user space build failure due to header change 2024-09-04 16:40:33 -07:00
in.h include: uapi: protocol number and packet structs for AGGFRAG in ESP 2024-12-05 10:01:09 +01:00
in6.h uapi: in6: restore visibility of most IPv6 socket options 2025-06-10 14:41:14 -07:00
inet_diag.h inet_diag: report delayed ack timer information 2026-03-06 16:32:26 -08:00
inotify.h inotify: Fix misspelling of "writable" 2024-03-06 13:13:00 +01:00
input-event-codes.h Input: add keycodes for contextual AI usages (HUTRR119) 2026-03-29 22:02:11 +02:00
input.h Input: add FF_HAPTIC effect type 2025-09-15 14:32:54 +02:00
io_uring.h io_uring/kbuf: support min length left for incremental buffers 2026-04-28 16:08:56 -06:00
ioam6_genl.h uapi: ioam6: API for netlink multicast events 2024-02-28 11:19:41 +00:00
ioam6_iptunnel.h net: ipv6: ioam6: new feature tunsrc 2024-08-22 10:45:12 +02:00
ioam6.h
ioctl.h
iommufd.h Merge branches 'fixes', 'arm/smmu/updates', 'arm/smmu/bindings', 'riscv', 'intel/vt-d', 'amd/amd-vi' and 'core' into next 2026-04-09 13:18:27 +01:00
ioprio.h block: uapi: Fix compilation errors using ioprio.h with C++ 2023-08-15 10:06:49 -06:00
ip_vs.h
ip.h include: uapi: protocol number and packet structs for AGGFRAG in ESP 2024-12-05 10:01:09 +01:00
ip6_tunnel.h net: add UAPI to the header guard in various network headers 2025-04-17 19:04:50 -07:00
ipc.h
ipmi_bmc.h
ipmi_msgdefs.h
ipmi_ssif_bmc.h
ipmi.h
ipsec.h xfrm: add generic iptfs defines and functionality 2024-12-05 10:01:28 +01:00
ipv6_route.h
ipv6.h ipv6: add force_forwarding sysctl to enable per-interface forwarding 2025-07-25 13:06:19 -07:00
irqnr.h
iso_fs.h
isst_if.h platform/x86: ISST: isst_if.h: fix all kernel-doc warnings 2025-11-06 14:19:20 +02:00
ivtv.h media: include: update Hans Verkuil's email address 2025-09-09 15:58:56 +02:00
ivtvfb.h
jffs2.h
joystick.h
kcm.h
kcmp.h
kcov.h
kd.h Revert "VT: Use macros to define ioctls" 2024-06-01 07:28:21 +02:00
kdev_t.h
kernel-page-flags.h mm: remove PG_error 2024-09-01 20:26:05 -07:00
kernel.h
kexec.h x86/kexec: carry forward the boot DTB on kexec 2025-09-13 17:32:43 -07:00
keyboard.h vt: add KT_CSI keysym type for modifier-aware CSI sequences 2026-03-12 15:07:51 +01:00
keyctl.h
kfd_ioctl.h drm/amdkfd: add extended capabilities to device snapshot 2026-01-27 18:13:28 -05:00
kfd_sysfs.h drm/amdkfd: allow debug subscription to lds violations on gfx 1250 2025-12-16 13:23:17 -05:00
kvm_para.h
kvm.h - ESA nesting support 2026-04-13 19:01:15 +02:00
l2tp.h
landlock.h landlock: Control pathname UNIX domain socket resolution by path 2026-04-07 18:51:06 +02:00
libc-compat.h uapi: libc-compat: remove ipx leftovers 2024-09-12 20:28:46 -07:00
limits.h
lirc.h
liveupdate.h liveupdate: luo_session: add ioctls for file preservation 2025-11-27 14:24:39 -08:00
llc.h
loadpin.h
lockd_netlink.h tools: ynl-gen: add regeneration comment 2025-11-25 19:20:42 -08:00
loop.h
lp.h
lsm.h lsm: add IPE lsm 2024-08-19 22:36:26 -04:00
lwtunnel.h
magic.h fs: add immutable rootfs 2026-01-12 16:52:09 +01:00
major.h
map_benchmark.h dma-mapping: benchmark: add support for dma_map_sg 2026-03-04 11:22:05 +01:00
map_to_7segment.h
map_to_14segment.h
matroxfb.h
max2175.h
mctp.h net: mctp: add gateway routing support 2025-07-08 12:39:24 +02:00
mdio.h net: pcs: xpcs: Fix PMA identifier handling in XPCS 2025-11-27 10:41:31 +01:00
media-bus-format.h media: uapi: Add 20-bit bayer formats 2025-11-14 15:48:49 +01:00
media.h media: uapi: Use unsigned int values for assigning bits in u32 fields 2023-05-25 16:21:22 +02:00
mei_uuid.h mei: Move uuid.h to the MEI namespace 2023-03-23 17:25:46 +01:00
mei.h mei: fix spellos in mei.h 2023-12-15 17:01:30 +01:00
membarrier.h
memfd.h
mempolicy.h mm/mempolicy: fix mpol_rebind_nodemask() for MPOL_F_NUMA_BALANCING 2026-01-26 20:02:32 -08:00
mii.h net: phy: qcom: at803x: Use the correct bit to disable extended next page 2026-04-13 14:36:22 -07:00
minix_fs.h
mman.h mm: add MAP_DROPPABLE for designating always lazily freeable mappings 2024-07-19 20:22:12 +02:00
mmtimer.h
module_signature.h module: Move 'struct module_signature' to UAPI 2026-03-24 21:42:37 +00:00
module.h
mount.h mount: add FSMOUNT_NAMESPACE 2026-03-12 13:33:54 +01:00
mpls_iptunnel.h
mpls.h
mptcp_pm.h mptcp: fix kdoc warnings 2026-02-06 20:35:06 -08:00
mptcp.h mptcp: pm: ignore unknown endpoint flags 2025-12-08 23:54:02 -08:00
mqueue.h
mroute.h
mroute6.h
mrp_bridge.h
msdos_fs.h
msg.h
mshv.h mshv_vtl: Fix vmemmap_shift exceeding MAX_FOLIO_ORDER 2026-04-14 04:44:31 +00:00
mtio.h
nbd-netlink.h
nbd.h nbd: implement the WRITE_ZEROES command 2024-09-06 08:31:40 -06:00
ncsi.h
ndctl.h
neighbour.h neighbor: Add NTF_EXT_VALIDATED flag for externally validated entries 2025-06-30 18:14:23 -07:00
net_dropmon.h uapi: net_dropmon: drop unused is_drop_point_hw macro 2025-06-25 15:35:20 -07:00
net_namespace.h
net_shaper.h tools: ynl-gen: add regeneration comment 2025-11-25 19:20:42 -08:00
net_tstamp.h net: add UAPI to the header guard in various network headers 2025-04-17 19:04:50 -07:00
net.h
netconf.h ipv6: add force_forwarding sysctl to enable per-interface forwarding 2025-07-25 13:06:19 -07:00
netdev.h net: Add queue-create operation 2026-04-09 18:21:45 -07:00
netdevice.h
netfilter_arp.h
netfilter_bridge.h include: uapi: netfilter_bridge.h: Cover for musl libc 2026-02-17 15:04:20 +01:00
netfilter_ipv4.h netfilter: uapi: Use UAPI definition of INT_MAX and INT_MIN 2026-01-17 15:24:05 -08:00
netfilter_ipv6.h netfilter: uapi: Use UAPI definition of INT_MAX and INT_MIN 2026-01-17 15:24:05 -08:00
netfilter.h
netlink_diag.h net: add UAPI to the header guard in various network headers 2025-04-17 19:04:50 -07:00
netlink.h netlink: add variable-length / auto integers 2023-10-20 11:43:35 +01:00
nexthop.h net: nexthop: Increase weight to u16 2024-08-12 17:50:34 -07:00
nfc.h NFC: fix header file kernel-doc warnings 2026-02-27 19:21:56 -08:00
nfs_fs.h
nfs_idmap.h
nfs_mount.h
nfs.h NFS: NFSERR_INVAL is not defined by NFSv2 2026-01-26 10:10:58 -05:00
nfs2.h
nfs3.h
nfs4_mount.h
nfs4.h nfsd: rework NFS4_SHARE_WANT_* flag handling 2025-01-21 15:30:01 -05:00
nfsacl.h
nfsd_netlink.h NFSD: Add a key for signing filehandles 2026-03-29 21:25:09 -04:00
nilfs2_api.h nilfs2: fix missing struct keywords in nilfs2_api.h kernel-doc 2025-12-22 15:45:29 -08:00
nilfs2_ondisk.h nilfs2: convert nilfs_super_block to kernel-doc 2025-12-22 15:45:29 -08:00
nitro_enclaves.h
nl80211-vnd-intel.h wifi: nl80211: vendor-cmd: intel: fix a blank kernel-doc line warning 2025-11-25 10:34:55 +01:00
nl80211.h wifi: nl80211: Add a notification to notify NAN channel evacuation 2026-03-25 20:56:55 +01:00
npcm-video.h media: uapi: Add controls for NPCM video driver 2023-09-27 09:40:02 +02:00
nsfs.h nstree: add listns() 2025-11-03 17:41:18 +01:00
nsm.h misc: Add Nitro Secure Module driver 2023-11-28 19:05:16 +00:00
ntsync.h ntsync: Introduce alertable waits. 2025-01-08 13:18:11 +01:00
nubus.h
nvme_ioctl.h
nvram.h
omap3isp.h
omapfb.h
oom.h
openat2.h
openvswitch.h net: openvswitch: clean up some kernel-doc warnings 2026-03-04 17:52:46 -08:00
ovpn.h ovpn: add support for asymmetric peer IDs 2026-03-17 11:09:05 +01:00
packet_diag.h
papr_pdsm.h powerpc/papr_scm: Move duplicate definitions to common header files 2024-04-25 12:37:12 -07:00
param.h
parport.h ata: parport_pc: add 16-bit and 8-bit fast EPP transfer flags 2023-03-23 12:22:19 +09:00
patchkey.h
pci_regs.h PCI: Correct PCI_CAP_EXP_ENDPOINT_SIZEOF_V2 value 2026-02-27 10:24:25 -06:00
pci.h PCI: trace: Add generic RAS tracepoint for hotplug event 2025-12-23 16:05:56 -06:00
pcitest.h misc: pci_endpoint_test: Add BAR subrange mapping test case 2026-01-29 17:42:29 -06:00
perf_event.h Performance events changes for v7.0: 2026-02-10 12:00:46 -08:00
personality.h
pfkeyv2.h
pfrut.h ACPI: pfr_update: Fix the driver update version check 2025-08-20 15:30:36 +02:00
pg.h
phantom.h
phonet.h
pidfd.h pidfds: add coredump_code field to pidfd_info 2026-03-23 16:29:15 +01:00
pkt_cls.h net: sched: uapi: add more sanely named duplicate defines 2025-05-15 11:44:29 -07:00
pkt_sched.h net/sched: sch_cake: share shaper state across sub-instances of cake_mq 2026-01-13 11:54:29 +01:00
pktcdvd.h pktcdvd: Get rid of custom printing macros 2023-06-07 14:26:09 -06:00
pmu.h
poll.h
posix_acl_xattr.h
posix_acl.h
posix_types.h
ppdev.h
ppp_defs.h
ppp-comp.h
ppp-ioctl.h
pps_gen.h drivers pps: add PPS generators support 2025-01-08 13:18:09 +01:00
pps.h
pr.h block: add allocation size check in blkdev_pr_read_keys() 2025-12-17 07:35:22 -07:00
prctl.h prctl: cfi: change the branch landing pad prctl()s to be more descriptive 2026-04-04 18:40:58 -06:00
psample.h net: psample: allow using rate as probability 2024-07-05 17:45:47 -07:00
psci.h firmware/psci: Add definitions for PSCI v1.3 specification 2024-10-24 16:30:33 -07:00
psp-dbc.h crypto: ccp - Add support for getting and setting DBC parameters 2023-07-20 22:14:21 +12:00
psp-sev.h include/psp-sev.h: fix structure member in comment 2026-03-14 14:03:19 +09:00
psp-sfs.h crypto: ccp - Add AMD Seamless Firmware Servicing (SFS) driver 2025-09-17 12:17:05 +02:00
psp.h tools: ynl-gen: add regeneration comment 2025-11-25 19:20:42 -08:00
ptp_clock.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2025-09-25 11:00:59 -07:00
ptrace.h ptrace: introduce PTRACE_SET_SYSCALL_INFO request 2025-05-11 17:48:15 -07:00
pwm.h pwm: Add support for pwmchip devices for faster and easier userspace access 2025-07-07 08:39:33 +02:00
qemu_fw_cfg.h
qnx4_fs.h
qnxtypes.h
qrtr.h
quota.h shmem: prepare shmem quota infrastructure 2023-08-09 09:15:39 +02:00
radeonfb.h
random.h random: note that RNDGETPOOL was removed in 2.6.9-rc2 2024-07-19 20:22:48 +02:00
rds.h
reboot.h
remoteproc_cdev.h
resource.h uapi/linux/resource.h: fix include 2023-12-20 19:26:31 -05:00
rfkill.h
rio_cm_cdev.h
rio_mport_cdev.h
rkisp1-config.h media: uapi: Convert RkISP1 to V4L2 extensible params 2025-11-14 15:48:48 +01:00
romfs_fs.h
route.h
rpl_iptunnel.h
rpl.h
rpmsg_types.h
rpmsg.h rpmsg: char: Add RPMSG GET/SET FLOWCONTROL IOCTL support 2023-07-15 11:35:02 -07:00
rseq.h rseq: Don't advertise time slice extensions if disabled 2026-05-01 21:32:20 +02:00
rtc.h
rtnetlink.h Add OVN to rtnetlink.h 2025-02-25 18:14:03 -08:00
rxrpc.h rxrpc: Add the security index for yfs-rxgk 2025-04-14 17:36:41 -07:00
sched.h vfs-7.1-rc1.mount.v2 2026-04-14 19:59:25 -07:00
scif_ioctl.h
screen_info.h
sctp.h sctp: add weighted fair queueing stream scheduler 2023-03-09 11:31:44 +01:00
seccomp.h seccomp: add the synchronous mode for seccomp_unotify 2023-07-17 16:08:08 -07:00
securebits.h security: Add EXEC_RESTRICT_FILE and EXEC_DENY_INTERACTIVE securebits 2024-12-18 17:00:29 -08:00
sed-opal.h sed-opal: Add STACK_RESET command 2026-03-31 07:04:00 -06:00
seg6_genl.h
seg6_hmac.h
seg6_iptunnel.h seg6: add per-route tunnel source address 2026-03-26 18:45:29 -07:00
seg6_local.h
seg6.h
selinux_netlink.h
sem.h
serial_core.h serial: add PORT_GENERIC definition 2023-10-10 08:51:10 +02:00
serial_reg.h serial: 8250_port: Introduce UART_IIR_FIFO_ENABLED_16750 2023-09-18 11:14:42 +02:00
serial.h tty: serial: Fix bit order in RS485 flag definitions 2024-01-27 18:15:24 -08:00
serio.h media: input: serio.h: add SERIO_EXTRON_DA_HD_PLUS 2024-09-05 20:11:43 +02:00
sev-guest.h KVM: SEV: Provide support for SNP_GUEST_REQUEST NAE event 2024-07-16 11:44:00 -04:00
shm.h ipc/shm: uapi: remove dependency on libc 2026-01-26 19:07:10 -08:00
signal.h
signalfd.h
smc_diag.h net/smc: support extended GID in SMC-D lgr netlink attribute 2023-12-26 20:24:33 +00:00
smc.h net/smc: introduce statistics for ringbufs usage of net namespace 2024-08-20 11:38:23 +02:00
smiapp.h
snmp.h tcp: add LINUX_MIB_BEYOND_WINDOW 2025-07-14 18:41:42 -07:00
sock_diag.h
socket.h
sockios.h
sonet.h
sonypi.h
sound.h
soundcard.h
stat.h fs: add atomic write unit max opt to statx 2025-05-07 14:25:30 -07:00
stddef.h compiler_types.h: Attributes: Add __counted_by_ptr macro 2026-01-17 11:00:28 -08:00
stm.h
string.h
suspend_ioctls.h
swab.h
switchtec_ioctl.h
sync_file.h dma-buf/sync_file: Add SET_DEADLINE ioctl 2023-12-02 01:17:48 +02:00
synclink.h
sysctl.h mm.git review status for linus..mm-stable 2026-02-12 11:32:37 -08:00
sysinfo.h
target_core_user.h scsi: target: uapi: Replace fake flex-array with flexible-array member 2023-03-24 16:59:09 -04:00
taskstats.h delayacct: fix uapi timespec64 definition 2026-02-08 00:13:32 -08:00
tcp_metrics.h tcp_metrics: add netlink protocol spec in YAML 2024-07-01 09:44:27 +01:00
tcp.h tcp: accecn: add tcpi_ecn_mode and tcpi_option2 in tcp_info 2026-02-03 15:13:25 +01:00
tdx-guest.h
tee.h tee: fix tee_ioctl_object_invoke_arg padding 2026-05-20 08:49:09 +02:00
termios.h
thermal.h thermal/netlink: Prevent userspace segmentation fault by adjusting UAPI header 2025-02-11 20:53:14 +01:00
thp7312.h media: uapi: Add controls for the THP7312 ISP 2023-12-04 10:37:46 +01:00
time_types.h
time.h time: Introduce auxiliary POSIX clocks 2025-06-19 14:28:22 +02:00
timerfd.h
times.h
timex.h
tiocl.h vt: bracketed paste support 2025-05-21 13:41:03 +02:00
tipc_config.h
tipc_netlink.h
tipc_sockets_diag.h
tipc.h
tls.h net/tls: support setting the maximum payload size 2025-10-27 16:13:42 -07:00
toshiba.h
tps6594_pfsm.h misc: tps6594-pfsm: Add driver for TI TPS6594 PFSM 2023-06-15 13:41:53 +02:00
trace_mmap.h tracing updates for v7.1: 2026-04-17 09:43:12 -07:00
tty_flags.h
tty.h
typelimits.h uapi: add INT_MAX and INT_MIN constants 2026-01-17 15:24:05 -08:00
types.h types: Complement the aligned types with signed 64-bit one 2024-09-30 09:20:59 +01:00
ublk_cmd.h ublk: widen ublk_shmem_buf_reg.len to __u64 for 4GB buffer support 2026-04-09 19:08:35 -06:00
udf_fs_i.h
udmabuf.h
udp.h udp: Remove UDPLITE_SEND_CSCOV and UDPLITE_RECV_CSCOV. 2026-03-13 18:57:45 -07:00
uhid.h
uinput.h
uio.h net: add SO_DEVMEM_DONTNEED setsockopt to release RX frags 2024-09-11 20:44:32 -07:00
uleds.h
ultrasound.h
um_timetravel.h um: time-travel: clean up kernel-doc warnings 2026-03-21 10:42:09 +01:00
un.h
unistd.h
unix_diag.h
usbdevice_fs.h
usbip.h
user_events.h tracing/user_events: Introduce multi-format events 2024-03-18 10:13:03 -04:00
userfaultfd.h userfaultfd: UFFDIO_MOVE uABI 2023-12-29 11:58:24 -08:00
userio.h
utime.h
utsname.h
uuid.h mei: Move uuid.h to the MEI namespace 2023-03-23 17:25:46 +01:00
uvcvideo.h media: uvcvideo: implement UVC v1.5 ROI 2025-03-03 18:23:36 +01:00
v4l2-common.h
v4l2-controls.h media: v4l2-ctrls: Add hevc_ext_sps_[ls]t_rps controls 2026-01-21 14:43:09 +01:00
v4l2-dv-timings.h media: update Hans Verkuil's email address 2025-09-09 15:58:44 +02:00
v4l2-mediabus.h media: uapi: Document which mbus format fields are valid for metadata 2024-04-29 14:56:36 +02:00
v4l2-subdev.h media: v4l: subdev: Add len_routes field to struct v4l2_subdev_routing 2024-04-29 14:56:37 +02:00
vbox_err.h
vbox_vmmdev_types.h virt: vbox: uapi: Mark inner unions in packed structs as packed 2026-01-16 15:00:54 -07:00
vboxguest.h
vdpa.h vdpa: support set mac address from vdpa tool 2024-09-10 02:51:48 -04:00
vduse.h vduse: avoid adding implicit padding 2026-02-09 12:21:32 -05:00
vesa.h tty: vt: define a common enum for VESA blanking constants 2024-01-27 18:08:54 -08:00
veth.h
vfio_ccw.h
vfio_zdev.h
vfio.h vfio: Define uAPI for re-init initial bytes during the PRE_COPY phase 2026-03-19 12:32:08 -06:00
vhost_types.h vhost-net: allow configuring extended features 2025-07-08 18:05:23 +02:00
vhost.h vhost: Fix ioctl # for VHOST_[GS]ET_FORK_FROM_OWNER 2025-08-26 03:38:19 -04:00
videodev2.h media: v4l2-ctrls: Add hevc_ext_sps_[ls]t_rps controls 2026-01-21 14:43:09 +01:00
virtio_9p.h
virtio_balloon.h virtio_balloon: introduce memory scan/reclaim info 2024-09-10 02:51:48 -04:00
virtio_blk.h virtio-blk: fix to match virtio spec 2023-04-04 11:01:57 -04:00
virtio_bt.h Bluetooth: HCI: Remove HCI_AMP support 2024-05-14 10:54:49 -04:00
virtio_config.h virtio: Define feature bit for administration virtqueue 2023-12-19 11:51:31 -07:00
virtio_console.h
virtio_crypto.h crypto: virtio - Drop sign/verify operations 2024-10-05 13:22:04 +08:00
virtio_fs.h
virtio_gpio.h
virtio_gpu.h drm/virtio: Add capset definitions to UAPI 2025-03-28 04:53:51 +03:00
virtio_i2c.h
virtio_ids.h virtio: Add ID for virtio SPI 2025-09-22 09:29:28 +01:00
virtio_input.h
virtio_iommu.h
virtio_mem.h virtio-mem: support suspend+resume 2024-05-22 08:31:15 -04:00
virtio_mmio.h
virtio_net.h virtio_net: fix alignment for virtio_net_hdr_v1_hash 2025-11-04 17:14:07 -08:00
virtio_pci.h virtio_pci: drop kernel.h 2025-11-30 18:02:43 -05:00
virtio_pcidev.h
virtio_pmem.h virtio_pmem: support feature SHMEM_REGION 2024-01-10 13:01:37 -05:00
virtio_ring.h virtio: uapi: avoid usage of libc types 2025-12-26 15:00:00 -05:00
virtio_rng.h
virtio_rtc.h virtio_rtc: Add RTC class driver 2025-05-27 10:27:54 -04:00
virtio_scmi.h
virtio_scsi.h
virtio_snd.h virtio_snd.h: clarify that controls depends on VIRTIO_SND_F_CTLS 2025-02-14 12:58:02 +01:00
virtio_spi.h virtio-spi: Add virtio-spi.h 2025-09-22 09:29:29 +01:00
virtio_types.h
virtio_vsock.h
vm_sockets_diag.h
vm_sockets.h vsock/uapi: fix linux/vm_sockets.h userspace compilation errors 2025-06-24 17:12:59 -07:00
vmclock-abi.h ptp: vmclock: support device notifications 2026-02-02 18:06:00 -08:00
vmcore.h vmcoreinfo: track and log recoverable hardware errors 2025-11-27 14:24:44 -08:00
vsockmon.h
vt.h Revert "tty: vt: use _IO() to define ioctl numbers" 2025-08-01 10:42:22 +02:00
vtpm_proxy.h
wait.h
watch_queue.h
watchdog.h
wireguard.h wireguard: uapi: generate header with ynl-gen 2025-12-02 04:12:49 +01:00
wireless.h uapi: wireless: Replace zero-length array with flexible-array member 2023-05-28 19:07:48 -06:00
wmi.h
wwan.h
x25.h
xattr.h get rid of bogus __user in struct xattr_args::value 2025-12-24 13:52:50 +01:00
xdp_diag.h
xfrm.h xfrm: netlink: add config (netlink) options 2024-12-05 10:01:15 +01:00
xilinx-v4l2-controls.h
zorro_ids.h m68k: amiga: Turn off Warp1260 interrupts during boot 2024-06-04 08:59:58 +02:00
zorro.h