linux/include/uapi/linux
Anton Protopopov b4ce5923e7 bpf, x86: add new map type: instructions array
On bpf(BPF_PROG_LOAD) syscall user-supplied BPF programs are
translated by the verifier into "xlated" BPF programs. During this
process the original instructions offsets might be adjusted and/or
individual instructions might be replaced by new sets of instructions,
or deleted.

Add a new BPF map type which is aimed to keep track of how, for a
given program, the original instructions were relocated during the
verification. Also, besides keeping track of the original -> xlated
mapping, make x86 JIT to build the xlated -> jitted mapping for every
instruction listed in an instruction array. This is required for every
future application of instruction arrays: static keys, indirect jumps
and indirect calls.

A map of the BPF_MAP_TYPE_INSN_ARRAY type must be created with a u32
keys and value of size 8. The values have different semantics for
userspace and for BPF space. For userspace a value consists of two
u32 values – xlated and jitted offsets. For BPF side the value is
a real pointer to a jitted instruction.

On map creation/initialization, before loading the program, each
element of the map should be initialized to point to an instruction
offset within the program. Before the program load such maps should
be made frozen. After the program verification xlated and jitted
offsets can be read via the bpf(2) syscall.

If a tracked instruction is removed by the verifier, then the xlated
offset is set to (u32)-1 which is considered to be too big for a valid
BPF program offset.

One such a map can, obviously, be used to track one and only one BPF
program.  If the verification process was unsuccessful, then the same
map can be re-used to verify the program with a different log level.
However, if the program was loaded fine, then such a map, being
frozen in any case, can't be reused by other programs even after the
program release.

Example. Consider the following original and xlated programs:

    Original prog:                      Xlated prog:

     0:  r1 = 0x0                        0: r1 = 0
     1:  *(u32 *)(r10 - 0x4) = r1        1: *(u32 *)(r10 -4) = r1
     2:  r2 = r10                        2: r2 = r10
     3:  r2 += -0x4                      3: r2 += -4
     4:  r1 = 0x0 ll                     4: r1 = map[id:88]
     6:  call 0x1                        6: r1 += 272
                                         7: r0 = *(u32 *)(r2 +0)
                                         8: if r0 >= 0x1 goto pc+3
                                         9: r0 <<= 3
                                        10: r0 += r1
                                        11: goto pc+1
                                        12: r0 = 0
     7:  r6 = r0                        13: r6 = r0
     8:  if r6 == 0x0 goto +0x2         14: if r6 == 0x0 goto pc+4
     9:  call 0x76                      15: r0 = 0xffffffff8d2079c0
                                        17: r0 = *(u64 *)(r0 +0)
    10:  *(u64 *)(r6 + 0x0) = r0        18: *(u64 *)(r6 +0) = r0
    11:  r0 = 0x0                       19: r0 = 0x0
    12:  exit                           20: exit

An instruction array map, containing, e.g., instructions [0,4,7,12]
will be translated by the verifier to [0,4,13,20]. A map with
index 5 (the middle of 16-byte instruction) or indexes greater than 12
(outside the program boundaries) would be rejected.

The functionality provided by this patch will be extended in consequent
patches to implement BPF Static Keys, indirect jumps, and indirect calls.

Signed-off-by: Anton Protopopov <a.s.protopopov@gmail.com>
Reviewed-by: Eduard Zingerman <eddyz87@gmail.com>
Link: https://lore.kernel.org/r/20251105090410.1250500-2-a.s.protopopov@gmail.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
2025-11-05 17:31:25 -08:00
..
android rust_binder: add Rust Binder driver 2025-09-19 09:40:46 +02:00
byteorder
caif
can can: netlink: document which symbols are FD specific 2025-09-24 17:09:44 +02: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 headers: Remove some left-over license text in include/uapi/linux/hsi/ 2022-11-17 22:49:39 +01:00
iio iio: add power and energy measurement modifiers 2025-09-13 13:47:19 +01:00
io_uring io_uring: introduce io_uring querying 2025-09-08 08:06:37 -06:00
isdn
media media: pisp_be: Use clamp() and define max sizes 2025-07-03 09:25:01 +02:00
misc
mmc treewide: uapi: Replace zero-length arrays with flexible-array members 2022-06-28 21:26:05 +02:00
netfilter netfilter: nft_meta_bridge: introduce NFT_META_BRI_IIFHWADDR support 2025-09-11 15:40:55 +02:00
netfilter_arp treewide: uapi: Replace zero-length arrays with flexible-array members 2022-06-28 21:26:05 +02:00
netfilter_bridge netfilter: ebtables: replace zero-length array members 2023-08-22 15:13:20 +02:00
netfilter_ipv4 treewide: uapi: Replace zero-length arrays with flexible-array members 2022-06-28 21:26:05 +02:00
netfilter_ipv6 netfilter: ip6t_LOG: Fix a typo in a comment 2022-08-09 19:51:05 +02:00
nfsd NFSD: Handle new xprtsec= export option 2023-04-27 18:49:24 -04:00
raid md: keep recovery_cp in mdp_superblock_s 2025-08-16 08:47:38 +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/Thunderbolt update for 6.15-rc1 2025-04-02 18:23:31 -07:00
a.out.h
acct.h taskstats: version 12 with thread group and exe info 2022-04-29 14:38:03 -07:00
acrn.h virt: acrn: Mark the uuid field as unused 2022-11-23 19:55:22 +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 agpgart.h: do not include <stdlib.h> from exported header 2022-05-13 10:56:10 +02:00
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 net: atm: bring back zatm uAPI 2022-08-11 10:31:19 -07:00
atm.h
atmapi.h
atmarp.h
atmbr2684.h atm: uapi: fix spelling typos in comments 2022-12-22 18:18:37 -08:00
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: add record for multiple object contexts 2025-08-30 10:15:30 -04: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
baycom.h
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 block: remove bounce buffering support 2025-05-05 13:22:39 -06:00
blkzoned.h block: Fix a source code comment in include/uapi/linux/blkzoned.h 2023-07-24 20:11:54 -06:00
bpf_common.h
bpf_perf_event.h
bpf.h bpf, x86: add new map type: instructions array 2025-11-05 17:31:25 -08:00
bpqether.h
bsg.h
bt-bmc.h
btf.h docs/bpf: Document the semantics of BTF tags with kind_flag 2025-02-05 16:17:59 -08:00
btrfs_tree.h btrfs: remove raid-stripe-tree encoding field from stripe_extent 2024-07-11 15:33:28 +02:00
btrfs.h btrfs: defrag: add flag to force no-compression 2025-07-22 01:13:03 +02:00
cachefiles.h cachefiles: implement on-demand read 2022-05-18 00:11:18 +08:00
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
capi.h
cciss_defs.h
cciss_ioctl.h
ccs.h
cdrom.h cdrom: mark CDROMGETSPINDOWN/CDROMSETSPINDOWN obsolete 2022-05-15 18:31:28 -06:00
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
connector.h treewide: uapi: Replace zero-length arrays with flexible-array members 2022-06-28 21:26:05 +02:00
const.h treewide: fix typo 'unsigned __init128' -> 'unsigned __int128' 2025-03-05 12:00:03 -05: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 treewide: uapi: Replace zero-length arrays with flexible-array members 2022-06-28 21:26:05 +02:00
dcbnl.h net: dcb: add new rewrite table 2023-01-20 09:33:22 +00:00
dccp.h
devlink.h devlink: Make health reporter burst period configurable 2025-08-26 17:24:16 -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 treewide: uapi: Replace zero-length arrays with flexible-array members 2022-06-28 21:26:05 +02:00
dma-buf.h Merge drm/drm-next into drm-misc-next 2022-06-20 18:21:25 +02: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 phase-offset-avg-factor device attribute to netlink spec 2025-09-29 18:57:41 -07:00
dqblk_xfs.h
dw100.h media: uapi: Add a control for DW100 driver 2022-08-29 15:32:13 +02:00
edd.h
efs_fs_sb.h
elf-em.h LoongArch: Add ELF-related definitions 2022-06-03 20:09:27 +08:00
elf-fdpic.h binfmt_elf_fdpic: support 64-bit systems 2023-08-23 14:17:42 -07:00
elf.h Updates for the VDSO infrastructure: 2025-03-25 11:30:42 -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 Revert "Documentation: net: add flow control guide and document ethtool API" 2025-10-01 09:48:21 +02: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: support including Flow Label in the flow hash for RSS 2025-08-14 11:40:13 +02: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: implemet new ioctls to set and get superblock parameters 2025-09-26 08:36:08 -04: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 nsfs: support exhaustive file handles 2025-09-19 14:26:16 +02: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 ynl: broaden the license even more 2023-03-16 21:20:32 -07:00
fpga-dfl.h
fs.h Add RWF_NOSIGNAL flag for pwritev2 2025-08-29 15:08:07 +02: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 genetlink: correct uAPI defines 2022-08-10 13:49:50 +01:00
gfs2_ondisk.h
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 net/handshake: Add new parameter 'HANDSHAKE_A_ACCEPT_KEYRING' 2025-07-08 15:31:44 +02: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
hdlcdrv.h
hdreg.h
hid.h HID: convert defines of HID class requests into a proper enum 2022-09-20 11:53:32 +01:00
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
i2c-dev.h
i2c.h i2c: Clarify behavior of I2C_M_RD flag 2025-07-14 09:15:58 +02: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: add wq driver name support for accel-config user tool 2023-10-04 13:00:34 +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 net: add UAPI to the header guard in various network headers 2025-04-17 19:04:50 -07: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 can: canxl: update CAN infrastructure for CAN XL frames 2022-09-15 09:08:09 +02: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 rtnetlink: add needed_{head,tail}room attributes 2025-09-19 17:21:55 -07:00
if_ltalk.h
if_macsec.h net: macsec: Expose MACSEC_SALT_LEN definition to user space 2022-08-18 20:37:35 -07:00
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 treewide: uapi: Replace zero-length arrays with flexible-array members 2022-06-28 21:26:05 +02: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 uapi: team: use header file generated from YAML spec 2024-04-02 18:24:33 -07: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 treewide: uapi: Replace zero-length arrays with flexible-array members 2022-06-28 21:26:05 +02:00
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 net: Correct spelling in headers 2024-08-26 09:37:23 -07:00
inotify.h inotify: Fix misspelling of "writable" 2024-03-06 13:13:00 +01:00
input-event-codes.h Input: add INPUT_PROP_HAPTIC_TOUCHPAD 2025-09-15 14:32:54 +02:00
input.h Input: add FF_HAPTIC effect type 2025-09-15 14:32:54 +02:00
io_uring.h io_uring: use tab indentation for IORING_SEND_VECTORIZED comment 2025-10-07 08:04:09 -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 ipv6: ioam: Replace 0-length array with flexible array 2023-01-06 19:22:53 -08:00
ioctl.h
iommufd.h iommufd: Destroy vdevice on idevice destroy 2025-07-18 17:33:08 -03:00
ioprio.h block: uapi: Fix compilation errors using ioprio.h with C++ 2023-08-15 10:06:49 -06:00
ip_vs.h treewide: uapi: Replace zero-length arrays with flexible-array members 2022-06-28 21:26:05 +02:00
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: ssif_bmc: Add SSIF BMC driver 2022-10-17 09:51:26 -05:00
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 treewide: uapi: Replace zero-length arrays with flexible-array members 2022-06-28 21:26:05 +02:00
isst_if.h platform/x86: ISST: Support SST-PP revision 2 2025-05-08 16:04:06 +03:00
ivtv.h media: include: update Hans Verkuil's email address 2025-09-09 15:58:56 +02:00
ivtvfb.h
jffs2.h treewide: uapi: Replace zero-length arrays with flexible-array members 2022-06-28 21:26:05 +02:00
joystick.h
kcm.h
kcmp.h
kcov.h treewide: uapi: Replace zero-length arrays with flexible-array members 2022-06-28 21:26:05 +02:00
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
kernelcapi.h
kexec.h x86/kexec: carry forward the boot DTB on kexec 2025-09-13 17:32:43 -07:00
keyboard.h
keyctl.h
kfd_ioctl.h drm/amdkfd: Fix two comments in kfd_ioctl.h 2025-10-07 14:09:19 -04:00
kfd_sysfs.h drm/amdkfd: flag per-sdma queue reset supported to user space 2025-03-05 10:47:33 -05:00
kvm_para.h
kvm.h KVM: guest_memfd: Add INIT_SHARED flag, reject user page faults if not set 2025-10-10 14:25:23 -07:00
l2tp.h uapi: move IPPROTO_L2TP to in.h 2022-09-20 09:13:38 +02:00
landlock.h landlock: Update log documentation 2025-04-17 11:09:10 +02:00
libc-compat.h uapi: libc-compat: remove ipx leftovers 2024-09-12 20:28:46 -07:00
limits.h
lirc.h media: lirc: revert removal of unused feature flags 2022-05-25 09:51:36 -07:00
llc.h
loadpin.h LoadPin: Enable loading from trusted dm-verity devices 2022-07-08 10:46:53 -07:00
lockd_netlink.h lockd: add netlink control interface 2025-03-10 09:10:53 -04:00
loop.h loop: remove most the top-of-file boilerplate comment from the UAPI header 2022-05-10 06:30:05 -06:00
lp.h
lsm.h lsm: add IPE lsm 2024-08-19 22:36:26 -04:00
lwtunnel.h xfrm: lwtunnel: add lwtunnel support for xfrm interfaces in collect_md mode 2022-08-29 10:44:08 +02:00
magic.h bcachefs: Move BCACHEFS_STATFS_MAGIC value to UAPI magic.h 2024-05-08 17:29:24 -04:00
major.h
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: mdio: add definition for clock stop capable bit 2025-01-16 17:22:59 -08:00
media-bus-format.h media: uapi: Add MEDIA_BUS_FMT_RGB101010_1X7X5_{SPWG, JEIDA} 2024-11-05 13:26:42 +02: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 sched/membarrier: Introduce MEMBARRIER_CMD_GET_REGISTRATIONS 2023-01-07 11:29:29 +01:00
memfd.h mm/memfd: add MFD_NOEXEC_SEAL and MFD_EXEC 2023-01-18 17:12:37 -08:00
mempolicy.h mempolicy: clarify what zone reclaim means 2025-09-13 16:54:41 -07:00
mii.h
minix_fs.h treewide: uapi: Replace zero-length arrays with flexible-array members 2022-06-28 21:26:05 +02:00
mman.h mm: add MAP_DROPPABLE for designating always lazily freeable mappings 2024-07-19 20:22:12 +02:00
mmtimer.h
module.h
mount.h Merge patch series "fs: allow changing idmappings" 2025-02-12 12:12:34 +01:00
mpls_iptunnel.h
mpls.h
mptcp_pm.h mptcp: pm: netlink: only add server-side attr when true 2025-09-22 11:51:24 -07:00
mptcp.h mptcp: pm: in-kernel: add laminar endpoints 2025-09-26 17:44:05 -07:00
mqueue.h
mroute.h
mroute6.h
mrp_bridge.h
msdos_fs.h
msg.h
mshv.h Drivers: hv: Introduce mshv_root module to expose /dev/mshv to VMMs 2025-03-21 18:24:22 +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 treewide: uapi: Replace zero-length arrays with flexible-array members 2022-06-28 21:26:05 +02:00
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 netlink: spec: add shaper introspection support 2024-10-10 08:30:22 -07: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: define an enum for the napi threaded state 2025-07-24 18:34:55 -07:00
netdevice.h
netfilter_arp.h
netfilter_bridge.h
netfilter_ipv4.h
netfilter_ipv6.h
netfilter.h netfilter: remove NFPROTO_DECNET 2022-09-07 16:46:03 +02:00
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
netrom.h
nexthop.h net: nexthop: Increase weight to u16 2024-08-12 17:50:34 -07:00
nfc.h net: nfc: Propagate ISO14443 type A target ATS to userspace via netlink 2024-11-07 10:21:58 +01:00
nfs_fs.h
nfs_idmap.h
nfs_mount.h
nfs.h NFS/knfsd: Remove the invalid NFS error 'NFSERR_OPNOTSUPP' 2024-05-06 12:47:24 -04: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: new netlink ops to get/set server pool_mode 2024-07-08 14:10:05 -04:00
nilfs2_api.h
nilfs2_ondisk.h nilfs2: Mark on-disk strings as nonstring 2025-02-28 11:51:32 -08:00
nitro_enclaves.h
nl80211-vnd-intel.h
nl80211.h wifi: cfg80211: correctly implement and validate S1G chandef 2025-09-19 11:55:56 +02:00
npcm-video.h media: uapi: Add controls for NPCM video driver 2023-09-27 09:40:02 +02:00
nsfs.h nsfs: add inode number for anon namespace 2025-09-19 14:26:18 +02: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 nvme: enable uring-passthrough for admin commands 2022-05-20 06:17:33 -06:00
nvram.h
omap3isp.h
omapfb.h
oom.h
openat2.h
openvswitch.h net: openvswitch: allow providing upcall pid for the 'execute' command 2025-07-07 14:30:39 -07:00
ovpn.h ovpn: add basic netlink support 2025-04-17 12:30:02 +02: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 Merge branch 'pci/capability-search' 2025-10-03 12:13:14 -05:00
pci.h
pcitest.h misc: pci_endpoint_test: Add doorbell test case 2025-07-24 16:51:46 -05:00
perf_event.h perf/uapi: Clean up <uapi/linux/perf_event.h> a bit 2025-05-22 11:03:41 +02: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 uapi/fcntl: mark range as reserved 2025-06-24 15:50:06 +02:00
pkt_cls.h net: sched: uapi: add more sanely named duplicate defines 2025-05-15 11:44:29 -07:00
pkt_sched.h sched: Dump configuration and statistics of dualpi2 qdisc 2025-07-23 17:52:07 -07: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 error codes for common PR failures 2022-12-01 03:22:20 +00:00
prctl.h mm/huge_memory: respect MADV_COLLAPSE with PR_THP_DISABLE_EXCEPT_ADVISED 2025-09-13 16:55:05 -07: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 crypto: ccp - New bit-field definitions for SNP_PLATFORM_STATUS command 2025-08-16 17:20:23 +08:00
psp-sfs.h crypto: ccp - Add AMD Seamless Firmware Servicing (SFS) driver 2025-09-17 12:17:05 +02:00
psp.h net: psp: add socket security association code 2025-09-18 12:32:06 +02: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 rfkill: uapi: fix RFKILL_IOCTL_MAX_SIZE ioctl request definition 2022-05-09 14:00:07 +02:00
rio_cm_cdev.h
rio_mport_cdev.h
rkisp1-config.h media: rockchip: rkisp1: Add support for Wide Dynamic Range 2025-06-18 09:21:58 +02:00
romfs_fs.h treewide: uapi: Replace zero-length arrays with flexible-array members 2022-06-28 21:26:05 +02:00
rose.h
route.h
rpl_iptunnel.h
rpl.h net: ipv6: rpl_iptunnel: Replace 0-length arrays with flexible arrays 2023-01-06 19:28:01 -08:00
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: Extend struct rseq with per-memory-map concurrency ID 2022-12-27 12:52:12 +01: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
scc.h
sched.h sched_ext: Implement BPF extensible scheduler class 2024-06-18 10:09:17 -10: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 block: sed-opal: add ioctl IOC_OPAL_SET_SID_PW 2024-10-22 08:16:40 -06:00
seg6_genl.h
seg6_hmac.h
seg6_iptunnel.h Networking changes for 6.0. 2022-08-03 16:29:08 -07:00
seg6_local.h seg6: add NEXT-C-SID support for SRv6 End behavior 2022-09-20 12:33:22 +02:00
seg6.h treewide: uapi: Replace zero-length arrays with flexible-array members 2022-06-28 21:26:05 +02:00
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
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 socket: Don't use u8 type in uapi socket.h 2022-06-01 16:48:05 -07:00
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 uapi: wrap compiler_types.h in an ifdef instead of the implicit strip 2025-08-28 13:06:48 +02:00
stm.h treewide: uapi: Replace zero-length arrays with flexible-array members 2022-06-28 21:26:05 +02:00
string.h
suspend_ioctls.h
swab.h include/uapi/linux/swab: Fix potentially missing __always_inline 2022-11-09 14:06:51 +01:00
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 ipv6: add force_forwarding sysctl to enable per-interface forwarding 2025-07-25 13:06:19 -07: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 taskstats: fix struct taskstats breaks backward compatibility since version 15 2025-05-20 22:49:39 -07:00
tcp_metrics.h tcp_metrics: add netlink protocol spec in YAML 2024-07-01 09:44:27 +01:00
tcp.h tcp: accecn: AccECN option failure handling 2025-09-18 08:47:52 +02:00
tdx-guest.h virt: Add TDX guest driver 2022-11-17 11:04:23 -08:00
tee.h tee: add Qualcomm TEE driver 2025-09-15 17:34:06 +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: Add ARIA-GCM algorithm 2022-09-27 17:29:09 -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: Have memmapped ring buffer use ioctl of "R" range 0x20-2F 2024-07-03 16:40:45 -04:00
tty_flags.h
tty.h tty: Add N_CAN327 line discipline ID for ELM327 based CAN driver 2022-06-27 16:25:41 +02: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: allow UBLK_IO_(UN)REGISTER_IO_BUF on any task 2025-06-30 20:13:42 -06:00
udf_fs_i.h
udmabuf.h
udp.h ovpn: introduce the ovpn_socket object 2025-04-17 12:30:02 +02: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: add shared memory optimisation for time-travel=ext 2024-07-03 12:24:54 +02:00
un.h
unistd.h
unix_diag.h
usbdevice_fs.h treewide: uapi: Replace zero-length arrays with flexible-array members 2022-06-28 21:26:05 +02:00
usbip.h usbip: add USBIP_URB_* URB transfer flags 2022-08-31 09:07:53 +02:00
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 headers: Remove some left-over license text in include/uapi/linux/v4l2-* 2022-12-07 17:58:46 +01:00
v4l2-controls.h media: uapi: v4l2-controls: Cleanup codec definitions 2025-09-04 10:37:05 +02: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: struct vmmdev_hgcm_pagelist: Replace 1-element array with flexible array 2024-08-22 16:56:24 -07:00
vboxguest.h
vdpa.h vdpa: support set mac address from vdpa tool 2024-09-10 02:51:48 -04:00
vduse.h uapi: vduse: fix typo in comment 2025-09-21 17:44:20 -04: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-pci/zdev: different maxstbl for interpreted devices 2022-07-11 09:54:37 +02:00
vfio.h vfio/pci: Do vf_token checks for VFIO_DEVICE_BIND_IOMMUFD 2025-08-05 15:41:14 -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: include: update Hans Verkuil's email address 2025-09-09 15:58:56 +02:00
virtio_9p.h treewide: uapi: Replace zero-length arrays with flexible-array members 2022-06-28 21:26:05 +02:00
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 net: implement virtio helpers to handle UDP GSO tunneling. 2025-07-08 18:05:47 +02:00
virtio_pci.h virtio_pci: Use self group type for cap commands 2025-04-14 09:51:31 -04: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: kerneldocs fixes and enhancements 2022-08-16 01:40:24 -04: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: Add support for the AMZNC10C 'vmclock' device 2024-10-09 12:16:18 +01:00
vmcore.h
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: allowedips: add WGALLOWEDIP_F_REMOVE_ME flag 2025-05-27 09:06:19 +02: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 fs/xattr: bpf: Introduce security.bpf. xattr name prefix 2025-02-13 19:35:31 -08: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