mirror-linux/include/uapi/linux
Leon Romanovsky 5d74781ebc vfio/pci: Add dma-buf export support for MMIO regions
Add support for exporting PCI device MMIO regions through dma-buf,
enabling safe sharing of non-struct page memory with controlled
lifetime management. This allows RDMA and other subsystems to import
dma-buf FDs and build them into memory regions for PCI P2P operations.

The implementation provides a revocable attachment mechanism using
dma-buf move operations. MMIO regions are normally pinned as BARs
don't change physical addresses, but access is revoked when the VFIO
device is closed or a PCI reset is issued. This ensures kernel
self-defense against potentially hostile userspace.

Currently VFIO can take MMIO regions from the device's BAR and map
them into a PFNMAP VMA with special PTEs. This mapping type ensures
the memory cannot be used with things like pin_user_pages(), hmm, and
so on. In practice only the user process CPU and KVM can safely make
use of these VMA. When VFIO shuts down these VMAs are cleaned by
unmap_mapping_range() to prevent any UAF of the MMIO beyond driver
unbind.

However, VFIO type 1 has an insecure behavior where it uses
follow_pfnmap_*() to fish a MMIO PFN out of a VMA and program it back
into the IOMMU. This has a long history of enabling P2P DMA inside
VMs, but has serious lifetime problems by allowing a UAF of the MMIO
after the VFIO driver has been unbound.

Introduce DMABUF as a new safe way to export a FD based handle for the
MMIO regions. This can be consumed by existing DMABUF importers like
RDMA or DRM without opening an UAF. A following series will add an
importer to iommufd to obsolete the type 1 code and allow safe
UAF-free MMIO P2P in VM cases.

DMABUF has a built in synchronous invalidation mechanism called
move_notify. VFIO keeps track of all drivers importing its MMIO and
can invoke a synchronous invalidation callback to tell the importing
drivers to DMA unmap and forget about the MMIO pfns. This process is
being called revoke. This synchronous invalidation fully prevents any
lifecycle problems. VFIO will do this before unbinding its driver
ensuring there is no UAF of the MMIO beyond the driver lifecycle.

Further, VFIO has additional behavior to block access to the MMIO
during things like Function Level Reset. This is because some poor
platforms may experience a MCE type crash when touching MMIO of a PCI
device that is undergoing a reset. Today this is done by using
unmap_mapping_range() on the VMAs. Extend that into the DMABUF world
and temporarily revoke the MMIO from the DMABUF importers during FLR
as well. This will more robustly prevent an errant P2P from possibly
upsetting the platform.

A DMABUF FD is a preferred handle for MMIO compared to using something
like a pgmap because:
 - VFIO is supported, including its P2P feature, on archs that don't
   support pgmap
 - PCI devices have all sorts of BAR sizes, including ones smaller
   than a section so a pgmap cannot always be created
 - It is undesirable to waste a lot of memory for struct pages,
   especially for a case like a GPU with ~100GB of BAR size
 - We want a synchronous revoke semantic to support FLR with light
   hardware requirements

Use the P2P subsystem to help generate the DMA mapping. This is a
significant upgrade over the abuse of dma_map_resource() that has
historically been used by DMABUF exporters. Experience with an OOT
version of this patch shows that real systems do need this. This
approach deals with all the P2P scenarios:
 - Non-zero PCI bus_offset
 - ACS flags routing traffic to the IOMMU
 - ACS flags that bypass the IOMMU - though vfio noiommu is required
   to hit this.

There will be further work to formalize the revoke semantic in
DMABUF. For now this acts like a move_notify dynamic exporter where
importer fault handling will get a failure when they attempt to map.
This means that only fully restartable fault capable importers can
import the VFIO DMABUFs. A future revoke semantic should open this up
to more HW as the HW only needs to invalidate, not handle restartable
faults.

Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Signed-off-by: Vivek Kasireddy <vivek.kasireddy@intel.com>
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
Acked-by: Ankit Agrawal <ankita@nvidia.com>
Link: https://lore.kernel.org/r/20251120-dmabuf-vfio-v9-10-d7f71607f371@nvidia.com
Signed-off-by: Alex Williamson <alex@shazbot.org>
2025-11-20 21:12:19 -07: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
genwqe
hdlc
hsi
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
netfilter netfilter: nft_meta_bridge: introduce NFT_META_BRI_IIFHWADDR support 2025-09-11 15:40:55 +02:00
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
nfsd
raid md: keep recovery_cp in mdp_superblock_s 2025-08-16 08:47:38 +08:00
sched
spi
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 media: aspeed: Allow to capture from SoC display (GFX) 2025-08-29 11:04:02 +02:00
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 audit: add record for multiple object contexts 2025-08-30 10:15:30 -04:00
auto_dev-ioctl.h
auto_fs.h
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 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
blkpg.h
blktrace_api.h block: remove bounce buffering support 2025-05-05 13:22:39 -06:00
blkzoned.h
bpf.h bpf: Finish constification of 1st parameter of bpf_d_path() 2025-10-04 09:05:23 -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: add flag to force no-compression 2025-07-22 01:13:03 +02:00
btrfs_tree.h
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
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
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
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
cyclades.h
cycx_cfm.h
dcbnl.h
dccp.h
devlink.h devlink: Make health reporter burst period configurable 2025-08-26 17:24:16 -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 dpll: add phase-offset-avg-factor device attribute to netlink spec 2025-09-29 18:57:41 -07: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 net: ethtool: support including Flow Label in the flow hash for RSS 2025-08-14 11:40:13 +02:00
ethtool_netlink.h netlink: specs: add the multicast group name to spec 2025-06-25 15:24:13 -07:00
ethtool_netlink_generated.h Revert "Documentation: net: add flow control guide and document ethtool API" 2025-10-01 09:48:21 +02:00
eventfd.h
eventpoll.h
exfat.h
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
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
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
gpio.h
gsmmux.h
gtp.h
handshake.h net/handshake: Add new parameter 'HANDSHAKE_A_ACCEPT_KEYRING' 2025-07-08 15:31:44 +02:00
hash_info.h
hdlc.h
hdlcdrv.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
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
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: Introduce UAPI for BR_BOOLOPT_FDB_LOCAL_VLAN_0 2025-09-11 19:02:50 -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 rtnetlink: add needed_{head,tail}room attributes 2025-09-19 17:21:55 -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
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 tun: enable gso over UDP tunnel support. 2025-07-08 18:07:26 +02:00
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: xsk: introduce XDP_MAX_TX_SKB_BUDGET setsockopt 2025-07-10 14:48:29 +02: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 uapi: in6: restore visibility of most IPv6 socket options 2025-06-10 14:41:14 -07:00
in_route.h
inet_diag.h
inotify.h
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.h
ioam6_genl.h
ioam6_iptunnel.h
ioctl.h
iommufd.h iommufd: Destroy vdevice on idevice destroy 2025-07-18 17:33:08 -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: add `force_forwarding` sysctl to enable per-interface forwarding 2025-07-25 13:06:19 -07:00
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 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
kdev_t.h
kernel-page-flags.h
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.h KVM: guest_memfd: Add INIT_SHARED flag, reject user page faults if not set 2025-10-10 14:25:23 -07:00
kvm_para.h
l2tp.h
landlock.h landlock: Update log documentation 2025-04-17 11:09:10 +02:00
libc-compat.h
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
lwtunnel.h
magic.h
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
mei.h
mei_uuid.h
membarrier.h
memfd.h
mempolicy.h mempolicy: clarify what zone reclaim means 2025-09-13 16:54:41 -07:00
mii.h
minix_fs.h
mman.h
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: in-kernel: add laminar endpoints 2025-09-26 17:44:05 -07:00
mptcp_pm.h mptcp: pm: netlink: only add server-side attr when true 2025-09-22 11:51:24 -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
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.h
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
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.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
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
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
nsfs.h nsfs: add inode number for anon namespace 2025-09-19 14:26:18 +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: 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
param.h
parport.h
patchkey.h
pci.h
pci_regs.h Merge branch 'pci/capability-search' 2025-10-03 12:13:14 -05:00
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
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 mm/huge_memory: respect MADV_COLLAPSE with PR_THP_DISABLE_EXCEPT_ADVISED 2025-09-13 16:55:05 -07:00
psample.h
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 - 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
radeonfb.h
random.h
rds.h
reboot.h
remoteproc_cdev.h
resource.h
rfkill.h
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
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
sev-guest.h
shm.h
signal.h
signalfd.h
smc.h
smc_diag.h
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 uapi: wrap compiler_types.h in an ifdef instead of the implicit strip 2025-08-28 13:06:48 +02:00
stm.h
string.h
suspend_ioctls.h
swab.h
switchtec_ioctl.h
sync_file.h
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
taskstats.h taskstats: fix struct taskstats breaks backward compatibility since version 15 2025-05-20 22:49:39 -07:00
tcp.h tcp: accecn: AccECN option failure handling 2025-09-18 08:47:52 +02:00
tcp_metrics.h
tdx-guest.h
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
time.h time: Introduce auxiliary POSIX clocks 2025-06-19 14:28:22 +02:00
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
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: 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
uleds.h
ultrasound.h
um_timetravel.h
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: 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
v4l2-subdev.h
vbox_err.h
vbox_vmmdev_types.h
vboxguest.h
vdpa.h
vduse.h uapi: vduse: fix typo in comment 2025-09-21 17:44:20 -04:00
vesa.h
veth.h
vfio.h vfio/pci: Add dma-buf export support for MMIO regions 2025-11-20 21:12:19 -07:00
vfio_ccw.h
vfio_zdev.h
vhost.h vhost: Fix ioctl # for VHOST_[GS]ET_FORK_FROM_OWNER 2025-08-26 03:38:19 -04:00
vhost_types.h vhost-net: allow configuring extended features 2025-07-08 18:05:23 +02:00
videodev2.h media: include: update Hans Verkuil's email address 2025-09-09 15:58:56 +02:00
virtio_9p.h
virtio_balloon.h
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: Add ID for virtio SPI 2025-09-22 09:29:28 +01:00
virtio_input.h
virtio_iommu.h
virtio_mem.h
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_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_spi.h virtio-spi: Add virtio-spi.h 2025-09-22 09:29:29 +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 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
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