mirror-linux/include/uapi/linux
Kumar Kartikeya Dwivedi 5ab154f146 bpf: Introduce BPF standard streams
Add support for a stream API to the kernel and expose related kfuncs to
BPF programs. Two streams are exposed, BPF_STDOUT and BPF_STDERR. These
can be used for printing messages that can be consumed from user space,
thus it's similar in spirit to existing trace_pipe interface.

The kernel will use the BPF_STDERR stream to notify the program of any
errors encountered at runtime. BPF programs themselves may use both
streams for writing debug messages. BPF library-like code may use
BPF_STDERR to print warnings or errors on misuse at runtime.

The implementation of a stream is as follows. Everytime a message is
emitted from the kernel (directly, or through a BPF program), a record
is allocated by bump allocating from per-cpu region backed by a page
obtained using alloc_pages_nolock(). This ensures that we can allocate
memory from any context. The eventual plan is to discard this scheme in
favor of Alexei's kmalloc_nolock() [0].

This record is then locklessly inserted into a list (llist_add()) so
that the printing side doesn't require holding any locks, and works in
any context. Each stream has a maximum capacity of 4MB of text, and each
printed message is accounted against this limit.

Messages from a program are emitted using the bpf_stream_vprintk kfunc,
which takes a stream_id argument in addition to working otherwise
similar to bpf_trace_vprintk.

The bprintf buffer helpers are extracted out to be reused for printing
the string into them before copying it into the stream, so that we can
(with the defined max limit) format a string and know its true length
before performing allocations of the stream element.

For consuming elements from a stream, we expose a bpf(2) syscall command
named BPF_PROG_STREAM_READ_BY_FD, which allows reading data from the
stream of a given prog_fd into a user space buffer. The main logic is
implemented in bpf_stream_read(). The log messages are queued in
bpf_stream::log by the bpf_stream_vprintk kfunc, and then pulled and
ordered correctly in the stream backlog.

For this purpose, we hold a lock around bpf_stream_backlog_peek(), as
llist_del_first() (if we maintained a second lockless list for the
backlog) wouldn't be safe from multiple threads anyway. Then, if we
fail to find something in the backlog log, we splice out everything from
the lockless log, and place it in the backlog log, and then return the
head of the backlog. Once the full length of the element is consumed, we
will pop it and free it.

The lockless list bpf_stream::log is a LIFO stack. Elements obtained
using a llist_del_all() operation are in LIFO order, thus would break
the chronological ordering if printed directly. Hence, this batch of
messages is first reversed. Then, it is stashed into a separate list in
the stream, i.e. the backlog_log. The head of this list is the actual
message that should always be returned to the caller. All of this is
done in bpf_stream_backlog_fill().

From the kernel side, the writing into the stream will be a bit more
involved than the typical printk. First, the kernel typically may print
a collection of messages into the stream, and parallel writers into the
stream may suffer from interleaving of messages. To ensure each group of
messages is visible atomically, we can lift the advantage of using a
lockless list for pushing in messages.

To enable this, we add a bpf_stream_stage() macro, and require kernel
users to use bpf_stream_printk statements for the passed expression to
write into the stream. Underneath the macro, we have a message staging
API, where a bpf_stream_stage object on the stack accumulates the
messages being printed into a local llist_head, and then a commit
operation splices the whole batch into the stream's lockless log list.

This is especially pertinent for rqspinlock deadlock messages printed to
program streams. After this change, we see each deadlock invocation as a
non-interleaving contiguous message without any confusion on the
reader's part, improving their user experience in debugging the fault.

While programs cannot benefit from this staged stream writing API, they
could just as well hold an rqspinlock around their print statements to
serialize messages, hence this is kept kernel-internal for now.

Overall, this infrastructure provides NMI-safe any context printing of
messages to two dedicated streams.

Later patches will add support for printing splats in case of BPF arena
page faults, rqspinlock deadlocks, and cond_break timeouts, and
integration of this facility into bpftool for dumping messages to user
space.

  [0]: https://lore.kernel.org/bpf/20250501032718.65476-1-alexei.starovoitov@gmail.com

Reviewed-by: Eduard Zingerman <eddyz87@gmail.com>
Reviewed-by: Emil Tsalapatis <emil@etsalapatis.com>
Signed-off-by: Kumar Kartikeya Dwivedi <memxor@gmail.com>
Link: https://lore.kernel.org/r/20250703204818.925464-3-memxor@gmail.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
2025-07-03 19:30:06 -07:00
..
android binder: frozen notification 2024-07-31 13:56:00 +02:00
byteorder
caif
can
cifs
counter counter: microchip-tcb-capture: Add capture extensions for registers RA/RB 2025-03-08 08:57:18 +09:00
dvb
genwqe
hdlc
hsi
iio iio: introduce the FAULT event type 2025-02-08 15:16:29 +00:00
isdn
media media: uapi: Add stats info and parameters buffer for C3 ISP 2025-05-09 12:08:37 +02:00
misc
mmc
netfilter netfilter: nf_tables: Add notifications for hook changes 2025-05-23 13:57:14 +02:00
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
nfsd
raid md: reintroduce md-linear 2025-01-13 07:36:29 -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
tc_ematch
usb USB/Thunderbolt update for 6.15-rc1 2025-04-02 18:23:31 -07:00
a.out.h
acct.h
acrn.h
adb.h
adfs_fs.h
affs_hardblocks.h
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
atalk.h
atm.h
atm_eni.h
atm_he.h
atm_idt77105.h
atm_nicstar.h
atm_tcp.h
atm_zatm.h
atmapi.h
atmarp.h
atmbr2684.h
atmclip.h
atmdev.h
atmioc.h
atmlec.h
atmmpc.h
atmppp.h
atmsap.h
atmsvc.h
audit.h landlock: Add AUDIT_LANDLOCK_DOMAIN and log domain status 2025-03-26 13:59:38 +01:00
auto_dev-ioctl.h
auto_fs.h autofs: add per dentry expire timeout 2024-08-30 08:22:36 +02:00
auto_fs4.h
auxvec.h
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 tools headers: Synchronize linux/bits.h with the kernel sources 2025-06-17 16:55:24 -03: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
bpf.h bpf: Introduce BPF standard streams 2025-07-03 19:30:06 -07:00
bpf_common.h
bpf_perf_event.h
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.h btrfs: defrag: extend ioctl to accept compression levels 2025-03-18 20:35:50 +01:00
btrfs_tree.h btrfs: remove raid-stripe-tree encoding field from stripe_extent 2024-07-11 15:33:28 +02:00
cachefiles.h
can.h can: canxl: support Remote Request Substitution bit access 2025-02-19 11:10:54 +01:00
capability.h reboot: add support for configuring emergency hardware protection action 2025-03-16 23:24:14 -07:00
capi.h
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
chio.h
close_range.h
cn_proc.h
coda.h
coff.h
comedi.h
connector.h
const.h treewide: fix typo 'unsigned __init128' -> 'unsigned __int128' 2025-03-05 12:00:03 -05: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
cyclades.h
cycx_cfm.h
dcbnl.h
dccp.h
devlink.h devlink: define enum for attr types of dynamic attributes 2025-05-06 18:21:11 -07:00
dlm.h
dlm_device.h
dlm_plock.h
dlmconstants.h
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-heap.h
dns_resolver.h
dpll.h tools: ynl-gen: de-kdocify enums with no doc for entries 2024-11-04 18:11:47 -08:00
dqblk_xfs.h
dw100.h
edd.h
efs_fs_sb.h
elf-em.h
elf-fdpic.h
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.h ethtool: Block setting of symmetric RSS when non-symmetric rx-flow-hash is requested 2025-05-09 16:24:28 -07:00
ethtool_netlink.h net: ethtool: remove duplicate defines for family info 2025-06-18 14:10:39 -07:00
ethtool_netlink_generated.h net: ethtool: remove duplicate defines for family info 2025-06-18 14:10:39 -07:00
eventfd.h
eventpoll.h
exfat.h exfat: Implement sops->shutdown and ioctl 2024-09-18 07:40:56 +09:00
ext4.h
f2fs.h f2fs: add ioctl to get IO priority hint 2025-02-12 02:29:30 +00:00
fadvise.h
falloc.h fs: sort out the fallocate mode vs flag mess 2024-08-28 16:53:57 +02:00
fanotify.h fanotify: notify on mount attach and detach 2025-02-05 17:21:07 +01:00
fb.h
fcntl.h exec: Add a new AT_EXECVE_CHECK flag to execveat(2) 2024-12-18 17:00:29 -08: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
fpga-dfl.h
fs.h fs/proc: extend the PAGEMAP_SCAN ioctl to report guard regions 2025-05-11 17:48:16 -07:00
fscrypt.h fscrypt: add support for hardware-wrapped keys 2025-04-08 19:32:11 -07:00
fsi.h
fsl_hypervisor.h
fsl_mc.h
fsmap.h
fsverity.h
fuse.h fuse: add more control over cache invalidation behaviour 2025-04-15 12:56:40 +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
gpio.h
gsmmux.h
gtp.h
handshake.h
hash_info.h
hdlc.h
hdlcdrv.h
hdreg.h
hid.h
hiddev.h
hidraw.h HID: hidraw: add HIDIOCREVOKE ioctl 2024-08-29 10:39:37 +02:00
hpet.h
hsr_netlink.h
hw_breakpoint.h
hyperv.h
i2c-dev.h
i2c.h
i2o-dev.h
i8k.h
icmp.h
icmpv6.h
idxd.h
if.h
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: Add offload_fail_notification bopt 2025-04-14 15:56:42 -07:00
if_eql.h
if_ether.h
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 ovpn: add basic interface creation/destruction/management routines 2025-04-17 12:30:02 +02: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
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
if_tun.h
if_tunnel.h
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: add UAPI to the header guard in various network headers 2025-04-17 19:04:50 -07:00
ife.h
igmp.h
ila.h
in.h include: uapi: protocol number and packet structs for AGGFRAG in ESP 2024-12-05 10:01:09 +01:00
in6.h
in_route.h ipv4: Fix user space build failure due to header change 2024-09-04 16:40:33 -07:00
inet_diag.h net: Correct spelling in headers 2024-08-26 09:37:23 -07:00
inotify.h
input-event-codes.h ALSA: Add USB audio device jack type 2025-04-11 13:02:30 +02:00
input.h
io_uring.h for-6.16/io_uring-20250523 2025-05-26 12:13:22 -07:00
ioam6.h
ioam6_genl.h
ioam6_iptunnel.h net: ipv6: ioam6: new feature tunsrc 2024-08-22 10:45:12 +02:00
ioctl.h
iommufd.h iommufd: Fix iommu_vevent_header tables markup 2025-03-28 10:07:23 -03:00
ioprio.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
ip_vs.h
ipc.h
ipmi.h
ipmi_bmc.h
ipmi_msgdefs.h
ipmi_ssif_bmc.h
ipsec.h xfrm: add generic iptfs defines and functionality 2024-12-05 10:01:28 +01:00
ipv6.h
ipv6_route.h
irqnr.h
iso_fs.h
isst_if.h platform/x86: ISST: Support SST-PP revision 2 2025-05-08 16:04:06 +03:00
ivtv.h
ivtvfb.h
jffs2.h
joystick.h
kcm.h
kcmp.h
kcov.h
kd.h
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
keyboard.h
keyctl.h
kfd_ioctl.h drm/amdkfd: add smi events for process start and end 2025-04-11 17:01:25 -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.h KVM: TDX: Exit to userspace for GetTdVmCallInfo 2025-06-20 13:55:47 -04:00
kvm_para.h
l2tp.h
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
llc.h
loadpin.h
lockd_netlink.h lockd: add netlink control interface 2025-03-10 09:10:53 -04:00
loop.h
lp.h
lsm.h lsm: add IPE lsm 2024-08-19 22:36:26 -04:00
lwtunnel.h
magic.h
major.h
map_to_7segment.h
map_to_14segment.h
matroxfb.h
max2175.h
mctp.h
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
mei.h
mei_uuid.h
membarrier.h
memfd.h
mempolicy.h
mii.h
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.h
mount.h Merge patch series "fs: allow changing idmappings" 2025-02-12 12:12:34 +01:00
mpls.h
mpls_iptunnel.h
mptcp.h
mptcp_pm.h netlink: specs: mptcp: replace underscores with dashes in names 2025-06-25 15:36:28 -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
neighbour.h tools: ynl-gen: add makefile deps for neigh 2025-05-21 12:38:20 -07:00
net.h
net_dropmon.h net: add UAPI to the header guard in various network headers 2025-04-17 19:04:50 -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
netconf.h
netdev.h net: devmem: TCP tx netlink api 2025-05-13 11:12:48 +02:00
netdevice.h
netfilter.h
netfilter_arp.h
netfilter_bridge.h
netfilter_ipv4.h
netfilter_ipv6.h
netlink.h
netlink_diag.h net: add UAPI to the header guard in various network headers 2025-04-17 19:04:50 -07: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.h
nfs2.h
nfs3.h
nfs4.h nfsd: rework NFS4_SHARE_WANT_* flag handling 2025-01-21 15:30:01 -05:00
nfs4_mount.h
nfs_fs.h
nfs_idmap.h
nfs_mount.h
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: nl80211: add link id of transmitted profile for MLO MBSSID 2025-04-23 18:03:30 +02:00
npcm-video.h
nsfs.h vfs-6.12.mount 2024-09-16 11:15:26 +02:00
nsm.h
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: store sampling probability in cb. 2024-07-05 17:45:47 -07:00
ovpn.h ovpn: add basic netlink support 2025-04-17 12:30:02 +02:00
packet_diag.h
papr_pdsm.h
param.h
parport.h
patchkey.h
pci.h
pci_regs.h PCI: Add lane equalization register offsets 2025-04-19 19:42:43 +05:30
pcitest.h misc: pci_endpoint_test: Add support for PCITEST_IRQ_TYPE_AUTO 2025-03-26 06:11:54 +00: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
pg.h
phantom.h
phonet.h
pidfd.h pidfs, coredump: add PIDFD_INFO_COREDUMP 2025-05-21 13:59:12 +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 net: sched: uapi: add more sanely named duplicate defines 2025-05-15 11:44:29 -07:00
pktcdvd.h
pmu.h
poll.h
posix_acl.h
posix_acl_xattr.h
posix_types.h
ppdev.h
ppp-comp.h
ppp-ioctl.h
ppp_defs.h
pps.h
pps_gen.h drivers pps: add PPS generators support 2025-01-08 13:18:09 +01:00
pr.h
prctl.h futex: Allow to make the private hash immutable 2025-05-03 12:02:08 +02: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
psp-sev.h crypto: ccp - Fix uAPI definitions of PSP errors 2025-03-15 16:21:22 +08:00
ptp_clock.h ptp/ioctl: support MONOTONIC{,_RAW} timestamps for PTP_SYS_OFFSET_EXTENDED 2024-09-08 18:40:33 +01:00
ptrace.h ptrace: introduce PTRACE_SET_SYSCALL_INFO request 2025-05-11 17:48:15 -07:00
qemu_fw_cfg.h
qnx4_fs.h
qnxtypes.h
qrtr.h
quota.h
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
rfkill.h
rio_cm_cdev.h
rio_mport_cdev.h
rkisp1-config.h media: uapi: rkisp1-config: Fix typo in extensible params example 2025-02-21 10:33:01 +01:00
romfs_fs.h
rose.h
route.h
rpl.h
rpl_iptunnel.h
rpmsg.h
rpmsg_types.h
rseq.h
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
scif_ioctl.h
screen_info.h
sctp.h
seccomp.h
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.h
seg6_genl.h
seg6_hmac.h
seg6_iptunnel.h
seg6_local.h
selinux_netlink.h
sem.h
serial.h
serial_core.h
serial_reg.h
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.h net/smc: introduce statistics for ringbufs usage of net namespace 2024-08-20 11:38:23 +02:00
smc_diag.h
smiapp.h
snmp.h tcp: add LINUX_MIB_PAWS_TW_REJECTED counter 2025-04-10 18:29:26 -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 uapi: stddef.h: Introduce __kernel_nonstring 2025-02-28 11:51:32 -08:00
stm.h
string.h
suspend_ioctls.h
swab.h
switchtec_ioctl.h
sync_file.h
synclink.h
sysctl.h
sysinfo.h
target_core_user.h
taskstats.h taskstats: fix struct taskstats breaks backward compatibility since version 15 2025-05-20 22:49:39 -07:00
tcp.h tcp: fastopen: pass TFO child indication through getsockopt 2025-04-24 18:21:04 -07:00
tcp_metrics.h tcp_metrics: add netlink protocol spec in YAML 2024-07-01 09:44:27 +01:00
tdx-guest.h
tee.h
termios.h
thermal.h thermal/netlink: Prevent userspace segmentation fault by adjusting UAPI header 2025-02-11 20:53:14 +01:00
thp7312.h
time.h
time_types.h
timerfd.h
times.h
timex.h
tiocl.h vt: bracketed paste support 2025-05-21 13:41:03 +02:00
tipc.h
tipc_config.h
tipc_netlink.h
tipc_sockets_diag.h
tls.h
toshiba.h
tps6594_pfsm.h
trace_mmap.h tracing: Have memmapped ring buffer use ioctl of "R" range 0x20-2F 2024-07-03 16:40:45 -04:00
tty.h
tty_flags.h
types.h types: Complement the aligned types with signed 64-bit one 2024-09-30 09:20:59 +01:00
ublk_cmd.h ublk: have a per-io daemon instead of a per-queue daemon 2025-05-31 14:38:21 -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
usbip.h
user_events.h
userfaultfd.h
userio.h
utime.h
utsname.h
uuid.h
uvcvideo.h media: uvcvideo: implement UVC v1.5 ROI 2025-03-03 18:23:36 +01:00
v4l2-common.h
v4l2-controls.h media: uvcvideo: implement UVC v1.5 ROI 2025-03-03 18:23:36 +01:00
v4l2-dv-timings.h media: replace obsolete hans.verkuil@cisco.com alias 2024-11-08 13:38:09 +01:00
v4l2-mediabus.h
v4l2-subdev.h
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 vduse: relicense under GPL-2.0 OR BSD-3-Clause 2025-01-08 06:37:13 -05:00
vesa.h
veth.h
vfio.h iommufd 6.15 merge window pull 2025-04-01 18:03:46 -07:00
vfio_ccw.h
vfio_zdev.h
vhost.h vhost: fix VHOST_*_OWNER documentation 2025-04-14 09:51:31 -04:00
vhost_types.h
videodev2.h media: Add C3ISP_PARAMS and C3ISP_STATS meta formats 2025-05-09 12:08:37 +02: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_bt.h
virtio_config.h
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_input.h
virtio_iommu.h
virtio_mem.h
virtio_mmio.h
virtio_net.h virtio_net: Split struct virtio_net_rss_config 2025-03-25 09:30:21 -07: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_ring.h
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_types.h
virtio_vsock.h
vm_sockets.h vsock/uapi: fix linux/vm_sockets.h userspace compilation errors 2025-06-24 17:12:59 -07:00
vm_sockets_diag.h
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 vt: add VT_GETCONSIZECSRPOS to retrieve console size and cursor position 2025-05-21 13:41:03 +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
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.h
zorro_ids.h