twx-linux/include/uapi/linux
Kees Cook 50d7bd38c3 stddef: Introduce struct_group() helper macro
Kernel code has a regular need to describe groups of members within a
structure usually when they need to be copied or initialized separately
from the rest of the surrounding structure. The generally accepted design
pattern in C is to use a named sub-struct:

	struct foo {
		int one;
		struct {
			int two;
			int three, four;
		} thing;
		int five;
	};

This would allow for traditional references and sizing:

	memcpy(&dst.thing, &src.thing, sizeof(dst.thing));

However, doing this would mean that referencing struct members enclosed
by such named structs would always require including the sub-struct name
in identifiers:

	do_something(dst.thing.three);

This has tended to be quite inflexible, especially when such groupings
need to be added to established code which causes huge naming churn.
Three workarounds exist in the kernel for this problem, and each have
other negative properties.

To avoid the naming churn, there is a design pattern of adding macro
aliases for the named struct:

	#define f_three thing.three

This ends up polluting the global namespace, and makes it difficult to
search for identifiers.

Another common work-around in kernel code avoids the pollution by avoiding
the named struct entirely, instead identifying the group's boundaries using
either a pair of empty anonymous structs of a pair of zero-element arrays:

	struct foo {
		int one;
		struct { } start;
		int two;
		int three, four;
		struct { } finish;
		int five;
	};

	struct foo {
		int one;
		int start[0];
		int two;
		int three, four;
		int finish[0];
		int five;
	};

This allows code to avoid needing to use a sub-struct named for member
references within the surrounding structure, but loses the benefits of
being able to actually use such a struct, making it rather fragile. Using
these requires open-coded calculation of sizes and offsets. The efforts
made to avoid common mistakes include lots of comments, or adding various
BUILD_BUG_ON()s. Such code is left with no way for the compiler to reason
about the boundaries (e.g. the "start" object looks like it's 0 bytes
in length), making bounds checking depend on open-coded calculations:

	if (length > offsetof(struct foo, finish) -
		     offsetof(struct foo, start))
		return -EINVAL;
	memcpy(&dst.start, &src.start, offsetof(struct foo, finish) -
				       offsetof(struct foo, start));

However, the vast majority of places in the kernel that operate on
groups of members do so without any identification of the grouping,
relying either on comments or implicit knowledge of the struct contents,
which is even harder for the compiler to reason about, and results in
even more fragile manual sizing, usually depending on member locations
outside of the region (e.g. to copy "two" and "three", use the start of
"four" to find the size):

	BUILD_BUG_ON((offsetof(struct foo, four) <
		      offsetof(struct foo, two)) ||
		     (offsetof(struct foo, four) <
		      offsetof(struct foo, three));
	if (length > offsetof(struct foo, four) -
		     offsetof(struct foo, two))
		return -EINVAL;
	memcpy(&dst.two, &src.two, length);

In order to have a regular programmatic way to describe a struct
region that can be used for references and sizing, can be examined for
bounds checking, avoids forcing the use of intermediate identifiers,
and avoids polluting the global namespace, introduce the struct_group()
macro. This macro wraps the member declarations to create an anonymous
union of an anonymous struct (no intermediate name) and a named struct
(for references and sizing):

	struct foo {
		int one;
		struct_group(thing,
			int two;
			int three, four;
		);
		int five;
	};

	if (length > sizeof(src.thing))
		return -EINVAL;
	memcpy(&dst.thing, &src.thing, length);
	do_something(dst.three);

There are some rare cases where the resulting struct_group() needs
attributes added, so struct_group_attr() is also introduced to allow
for specifying struct attributes (e.g. __align(x) or __packed).
Additionally, there are places where such declarations would like to
have the struct be tagged, so struct_group_tagged() is added.

Given there is a need for a handful of UAPI uses too, the underlying
__struct_group() macro has been defined in UAPI so it can be used there
too.

To avoid confusing scripts/kernel-doc, hide the macro from its struct
parsing.

Co-developed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
Acked-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Link: https://lore.kernel.org/lkml/20210728023217.GC35706@embeddedor
Enhanced-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Link: https://lore.kernel.org/lkml/41183a98-bdb9-4ad6-7eab-5a7292a6df84@rasmusvillemoes.dk
Enhanced-by: Dan Williams <dan.j.williams@intel.com>
Link: https://lore.kernel.org/lkml/1d9a2e6df2a9a35b2cdd50a9a68cac5991e7e5f0.camel@intel.com
Enhanced-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: https://lore.kernel.org/lkml/YQKa76A6XuFqgM03@phenom.ffwll.local
Acked-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Kees Cook <keescook@chromium.org>
2021-09-25 08:20:47 -07:00
..
android binder: tell userspace to dump current backtrace when detected oneway spamming 2021-04-10 10:52:04 +02:00
byteorder
caif
can can: j1939: extend UAPI to notify about RX status 2021-08-04 12:11:52 +02:00
cifs
dvb Revert "media: dvb header files: move some headers to staging" 2021-08-23 09:49:09 -07:00
genwqe
hdlc
hsi
iio iio: buffer: add ioctl() to support opening extra buffers for IIO device 2021-03-11 20:47:05 +00:00
isdn
misc bcm-vk: add bcm_vk UAPI 2021-01-25 18:44:44 +01:00
mmc
netfilter Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf 2021-09-03 16:20:37 -07:00
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
nfsd NFSD: remove vanity comments 2021-08-17 11:47:53 -04:00
raid
sched
spi spi: Add SPI_NO_TX/RX support 2020-12-28 14:21:31 +00:00
sunrpc
surface_aggregator platform/surface: aggregator_cdev: Allow enabling of events from user-space 2021-06-16 17:47:53 +02:00
tc_act net/sched: act_skbmod: Add SKBMOD_F_ECN option support 2021-07-28 13:19:31 +01:00
tc_ematch
usb usb: webcam: Invalid size of Processing Unit Descriptor 2021-03-18 09:02:27 +01:00
a.out.h
acct.h
acrn.h virt: acrn: Introduce irqfd 2021-02-09 10:58:19 +01:00
adb.h
adfs_fs.h
affs_hardblocks.h
agpgart.h
aio_abi.h
am437x-vpfe.h
apm_bios.h
arcfb.h
arm_sdei.h
aspeed-lpc-ctrl.h
aspeed-p2a-ctrl.h
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
atmioc.h
atmlec.h
atmmpc.h
atmppp.h
atmsap.h
atmsvc.h
audit.h audit: remove trailing spaces and tabs 2021-06-10 20:59:05 -04:00
auto_dev-ioctl.h
auto_fs4.h
auto_fs.h
auxvec.h uapi/auxvec: Define the aux vector AT_MINSIGSTKSZ 2021-05-19 11:40:15 +02:00
ax25.h
batadv_packet.h batman-adv: Drop publication years from copyright info 2021-02-06 09:22:10 +01:00
batman_adv.h batman-adv: Drop publication years from copyright info 2021-02-06 09:22:10 +01:00
baycom.h
bcache.h bcache: introduce BCH_FEATURE_INCOMPAT_LOG_LARGE_BUCKET_SIZE for large bucket 2021-01-09 09:21:03 -07:00
bcm933xx_hcs.h
bfs_fs.h
binfmts.h binfmt_misc: pass binfmt_misc flags to the interpreter 2021-02-15 18:28:30 +01:00
blkpg.h block: update a few comments in uapi/linux/blkpg.h 2021-04-02 11:18:30 -06:00
blktrace_api.h
blkzoned.h
bpf_common.h
bpf_perf_event.h
bpf.h bpf: Add bpf_task_pt_regs() helper 2021-08-25 10:37:05 -07:00
bpfilter.h
bpqether.h
bsg.h
bt-bmc.h
btf.h bpf: Add BTF_KIND_FLOAT to uapi 2021-03-04 17:58:15 -08:00
btrfs_tree.h btrfs: initial fsverity support 2021-08-23 13:19:09 +02:00
btrfs.h btrfs: initial fsverity support 2021-08-23 13:19:09 +02:00
can.h can: uapi: introduce CANFD_FDF flag for mixed content in struct canfd_frame 2021-05-27 09:42:21 +02:00
capability.h exit/bdflush: Remove the deprecated bdflush system call 2021-07-12 15:17:47 -05:00
capi.h
cciss_defs.h
cciss_ioctl.h
ccs.h media: v4l: uapi: ccs: Add CCS controls for shading correction 2021-01-12 17:31:14 +01:00
cdrom.h
cec-funcs.h media: uapi/linux/cec-funcs.h: set delay to 1 if unnused 2021-06-02 14:08:09 +02:00
cec.h media: include/uapi/linux/cec.h: typo: SATERDAY -> SATURDAY 2021-07-12 09:16:29 +02:00
cfm_bridge.h
cgroupstats.h
chio.h
close_range.h
cm4000_cs.h
cn_proc.h
coda.h
coff.h
connector.h
const.h
coresight-stm.h
cramfs_fs.h
cryptouser.h
cuda.h
cxl_mem.h cxl/uapi: Fix defined but not used warnings 2021-09-07 11:39:01 -07:00
cycx_cfm.h
dcbnl.h
dccp.h
devlink.h devlink: Allow setting parent node of rate objects 2021-06-02 14:08:37 -07:00
dlm_device.h
dlm_netlink.h
dlm_plock.h
dlm.h
dlmconstants.h
dm-ioctl.h dm ima: measure data on table load 2021-08-10 13:32:40 -04:00
dm-log-userspace.h
dma-buf.h dma-buf: Document DMA_BUF_IOCTL_SYNC (v3) 2021-06-17 21:46:37 +02:00
dma-heap.h
dn.h
dns_resolver.h
dqblk_xfs.h quota: report warning limits for realtime space quotas 2021-03-18 17:03:54 +01:00
edd.h
efs_fs_sb.h
elf-em.h
elf-fdpic.h
elf.h arm64: Introduce prctl(PR_PAC_{SET,GET}_ENABLED_KEYS) 2021-04-13 17:31:44 +01:00
errno.h
errqueue.h
erspan.h
ethtool_netlink.h ethtool: add two coalesce attributes for CQE mode 2021-08-24 07:38:28 -07:00
ethtool.h ethtool: add two link extended substates of bad signal integrity 2021-08-16 15:12:13 -07:00
eventpoll.h
f2fs.h
fadvise.h
falloc.h
fanotify.h fanotify: add pidfd support to the fanotify API 2021-08-10 13:08:49 +02:00
fb.h
fcntl.h
fd.h floppy: cleanups: remove trailing whitespaces 2021-04-20 08:59:03 -06:00
fdreg.h
fib_rules.h
fiemap.h
filter.h
firewire-cdev.h include/linux: remove repeated words 2021-02-26 09:41:03 -08:00
firewire-constants.h
fou.h
fpga-dfl.h
fs.h block: add ioctl to read the disk sequence number 2021-08-02 13:37:28 -06:00
fscrypt.h
fsi.h
fsl_hypervisor.h
fsl_mc.h bus: fsl-mc: add fsl-mc userspace support 2021-01-27 15:13:52 +01:00
fsmap.h
fsverity.h fs-verity: support reading signature with ioctl 2021-02-07 14:51:19 -08:00
fuse.h virtiofs: propagate sync() to file server 2021-06-22 09:15:35 +02:00
futex.h futex: Provide FUTEX_LOCK_PI2 to support clock selection 2021-06-22 16:42:09 +02:00
gameport.h
gen_stats.h
genetlink.h
gfs2_ondisk.h gfs2: Add trusted xattr support 2021-02-08 13:01:24 +01:00
gpio.h gpio: uapi: use the preferred SPDX license identifier 2021-02-15 11:43:33 +01:00
gsmmux.h
gtp.h Revert "GTP: add support for flow based tunneling API" 2021-02-04 09:29:57 -08:00
hash_info.h
hdlc.h
hdlcdrv.h
hdreg.h
hid.h
hiddev.h
hidraw.h
hpet.h
hsr_netlink.h
hw_breakpoint.h
hyperv.h
i2c-dev.h i2c: remove licence boilerplate from i2c-dev UAPI header 2021-01-22 09:58:57 +01:00
i2c.h i2c: uapi: add macro to describe support for all SMBus transfers 2021-01-22 09:59:00 +01:00
i2o-dev.h
i8k.h
icmp.h icmp: fix lib conflict with trinity 2021-06-03 15:31:34 -07:00
icmpv6.h ICMPV6: add support for RFC 8335 PROBE 2021-03-30 13:29:39 -07:00
idxd.h dmaengine: idxd: fix setting up priv mode for dwq 2021-08-29 19:14:20 +05:30
if_addr.h
if_addrlabel.h
if_alg.h
if_arcnet.h
if_arp.h mctp: Add initial driver infrastructure 2021-07-29 15:06:50 +01:00
if_bonding.h treewide: remove editor modelines and cruft 2021-05-07 00:26:34 -07:00
if_bridge.h net: bridge: vlan: convert mcast router global option to per-vlan entry 2021-08-20 15:00:35 +01:00
if_cablemodem.h
if_eql.h
if_ether.h mctp: Add device handling and netlink interface 2021-07-29 15:06:50 +01:00
if_fc.h
if_fddi.h FDDI: if_fddi.h: Update my e-mail address 2021-03-10 12:45:16 -08:00
if_hippi.h
if_infiniband.h
if_link.h ipv6: add IFLA_INET6_RA_MTU to expose mtu value 2021-08-27 17:29:18 -07:00
if_ltalk.h
if_macsec.h
if_packet.h
if_phonet.h
if_plip.h
if_ppp.h
if_pppol2tp.h
if_pppox.h
if_slip.h
if_team.h
if_tun.h
if_tunnel.h Revert "GTP: add support for flow based tunneling API" 2021-02-04 09:29:57 -08:00
if_vlan.h
if_x25.h
if_xdp.h
if.h
ife.h
igmp.h
ila.h
in6.h ipv6: ioam: Data plane support for Pre-allocated Trace 2021-07-21 08:14:33 -07:00
in_route.h
in.h net/ipv4/ipv6: Replace one-element arraya with flexible-array members 2021-08-05 11:46:42 +01:00
inet_diag.h
inotify.h
input-event-codes.h HID: hid-input: add mapping for emoji picker key 2021-05-05 14:31:05 +02:00
input.h include/linux: remove repeated words 2021-02-26 09:41:03 -08:00
io_uring.h io-wq: provide IO_WQ_* constants for IORING_REGISTER_IOWQ_MAX_WORKERS arg items 2021-09-13 10:38:13 -06:00
ioam6_genl.h ipv6: ioam: IOAM Generic Netlink API 2021-07-21 08:14:33 -07:00
ioam6_iptunnel.h ipv6: ioam: Support for IOAM injection with lwtunnels 2021-07-21 08:14:33 -07:00
ioam6.h ipv6: ioam: Support for IOAM injection with lwtunnels 2021-07-21 08:14:33 -07:00
ioctl.h
iommu.h iommu/vt-d: Enable write protect propagation from guest 2021-03-18 11:42:46 +01:00
ioprio.h block: fix default IO priority handling 2021-08-18 07:23:15 -06:00
ip6_tunnel.h
ip_vs.h
ip.h
ipc.h
ipmi_bmc.h
ipmi_msgdefs.h
ipmi.h
ipsec.h
ipv6_route.h
ipv6.h ipv6: ioam: Data plane support for Pre-allocated Trace 2021-07-21 08:14:33 -07:00
irqnr.h
iso_fs.h
isst_if.h
ivtv.h
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 RISC-V: Add EM_RISCV to kexec UAPI header 2021-04-26 08:25:20 -07:00
keyboard.h
keyctl.h
kfd_ioctl.h drm/amdkfd: Allow querying SVM attributes that are clear 2021-08-06 16:12:32 -04:00
kvm_para.h KVM: X86: Introduce KVM_HC_MAP_GPA_RANGE hypercall 2021-06-17 14:25:39 -04:00
kvm.h KVM: stats: Support linear and logarithmic histogram statistics 2021-08-20 16:06:32 -04:00
l2tp.h net: l2tp: reduce log level of messages in receive path, add counter instead 2021-03-03 16:55:02 -08:00
landlock.h landlock: Enable user space to infer supported features 2021-04-22 12:22:11 -07:00
libc-compat.h
limits.h
lirc.h media: lirc: remove out of date comment 2021-05-21 15:03:50 +02:00
llc.h
loop.h
lp.h
lwtunnel.h ipv6: ioam: Support for IOAM injection with lwtunnels 2021-07-21 08:14:33 -07:00
magic.h mm: introduce memfd_secret system call to create "secret" memory areas 2021-07-08 11:48:21 -07:00
major.h tty: cyclades, remove this orphan 2021-03-10 09:34:06 +01:00
map_to_7segment.h uapi: map_to_7segment: Remove licence boilerplate 2021-03-24 08:26:29 +01:00
matroxfb.h
max2175.h
mctp.h mctp: Allow per-netns default networks 2021-07-29 15:06:50 +01:00
mdio.h net: phy: add constants for 2.5G and 5G speed in PCS speed register 2021-04-08 13:15:33 -07:00
media-bus-format.h
media.h media: uapi: Add an entity type for Image Signal Processors 2021-01-12 17:05:37 +01:00
mei.h
membarrier.h
memfd.h
mempolicy.h mm/mempolicy: add MPOL_PREFERRED_MANY for multiple preferred nodes 2021-09-03 09:58:17 -07:00
meye.h
mii.h
minix_fs.h
mman.h
mmtimer.h
module.h
mount.h move_mount: allow to add a mount into an existing group 2021-07-26 14:45:18 +02:00
mpls_iptunnel.h
mpls.h
mptcp.h mptcp: remote addresses fullmesh 2021-08-18 10:10:01 +01:00
mqueue.h
mroute6.h
mroute.h
mrp_bridge.h net: mrp: move struct definitions out of uapi 2021-01-23 12:38:42 -08:00
msdos_fs.h
msg.h
mtio.h
nbd-netlink.h nbd: provide a way for userspace processes to identify device backends 2021-06-30 15:34:04 -06:00
nbd.h
ncsi.h
ndctl.h
neighbour.h net: bridge: fix flags interpretation for extern learn fdb entries 2021-08-10 11:29:39 -07:00
net_dropmon.h
net_namespace.h
net_tstamp.h net: sock: extend SO_TIMESTAMPING for PHC binding 2021-07-01 13:08:18 -07:00
net.h Revert "net: add pf_family_names[] for protocol family" 2021-06-18 13:02:45 -07:00
netconf.h
netdevice.h
netfilter_arp.h
netfilter_bridge.h
netfilter_decnet.h
netfilter_ipv4.h
netfilter_ipv6.h
netfilter.h
netlink_diag.h
netlink.h netlink: simplify NLMSG_DATA with NLMSG_HDRLEN 2021-06-10 12:51:33 -07:00
netrom.h
nexthop.h nexthop: Add netlink defines and enumerators for resilient NH groups 2021-03-11 16:12:59 -08:00
nfc.h
nfs2.h
nfs3.h NFSD: Update the SETATTR3args decoder to use struct xdr_stream 2021-01-25 09:36:25 -05:00
nfs4_mount.h
nfs4.h treewide: remove editor modelines and cruft 2021-05-07 00:26:34 -07:00
nfs_fs.h
nfs_idmap.h
nfs_mount.h
nfs.h
nfsacl.h
nilfs2_api.h
nilfs2_ondisk.h
nitro_enclaves.h
nl80211-vnd-intel.h nl80211: vendor-cmd: add Intel vendor commands for iwlmei usage 2021-08-13 09:50:24 +02:00
nl80211.h nl80211: add support for BSS coloring 2021-08-17 11:58:21 +02:00
nsfs.h
nubus.h
nvme_ioctl.h
nvram.h
omap3isp.h
omapfb.h
oom.h
openat2.h fs: expose LOOKUP_CACHED through openat2() RESOLVE_CACHED 2021-01-04 11:42:26 -05:00
openvswitch.h openvswitch: fix alignment issues 2021-07-27 11:48:42 +01:00
packet_diag.h
param.h
parport.h
patchkey.h
pci_regs.h
pci.h
pcitest.h PCI: Fix kernel-doc formatting 2021-07-06 10:37:46 -05:00
perf_event.h Merge branch 'for-v5.13-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace 2021-05-21 06:12:52 -10:00
personality.h
pfkeyv2.h
pg.h
phantom.h
phonet.h
pidfd.h
pkt_cls.h net_sched: refactor TC action init API 2021-08-02 10:24:38 +01:00
pkt_sched.h fq_codel: reject silly quantum parameters 2021-09-04 10:49:46 +01:00
pktcdvd.h
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 ppp: Fix PPPIOCUNBRIDGECHAN request number 2020-12-21 17:36:48 -08:00
pps.h
pr.h
prctl.h arm64 updates for 5.15: 2021-09-01 15:04:29 -07:00
psample.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-03-25 15:31:22 -07:00
psci.h
psp-sev.h
ptp_clock.h
ptrace.h rseq, ptrace: Add PTRACE_GET_RSEQ_CONFIGURATION request 2021-03-17 16:15:39 +01:00
qemu_fw_cfg.h
qnx4_fs.h
qnxtypes.h
qrtr.h
quota.h
radeonfb.h
random.h
rds.h
reboot.h
reiserfs_fs.h
reiserfs_xattr.h
remoteproc_cdev.h
resource.h
rfkill.h rfkill: revert back to old userspace API by default 2021-04-08 10:14:45 +02:00
rio_cm_cdev.h
rio_mport_cdev.h
rkisp1-config.h media: rkisp1: uapi: document which flags/structs relate to statistics config 2021-04-06 10:29:56 +02:00
romfs_fs.h
rose.h
route.h
rpl_iptunnel.h
rpl.h uapi: fix big endian definition of ipv6_rpl_sr_hdr 2021-01-25 15:14:16 -08:00
rpmsg_types.h
rpmsg.h rpmsg: Add short description of the IOCTL defined in UAPI. 2021-03-17 14:16:26 -05:00
rseq.h
rtc.h rtc: introduce features bitfield 2021-01-16 23:19:26 +01:00
rtnetlink.h Add Open Routing Protocol ID to rtnetlink.h 2021-03-24 16:31:23 -07:00
rxrpc.h
scc.h
sched.h
scif_ioctl.h
screen_info.h
sctp.h sctp: add SCTP_PLPMTUD_PROBE_INTERVAL sockopt for sock/asoc/transport 2021-06-22 11:28:51 -07:00
seccomp.h seccomp: Support atomic "addfd + send reply" 2021-06-28 12:49:52 -07:00
securebits.h
sed-opal.h
seg6_genl.h
seg6_hmac.h
seg6_iptunnel.h
seg6_local.h seg6: add support for SRv6 End.DT46 Behavior 2021-06-18 11:35:47 -07:00
seg6.h
selinux_netlink.h
sem.h
serial_core.h tty: serial: Drop unused efm32 serial driver 2021-01-15 17:14:49 +01:00
serial_reg.h serial: 8250: Define RX trigger levels for OxSemi 950 devices 2021-07-27 12:05:46 +02:00
serial.h tty: cyclades, remove this orphan 2021-03-10 09:34:06 +01:00
serio.h
shm.h
signal.h
signalfd.h signalfd: Remove SIL_PERF_EVENT fields from signalfd_siginfo 2021-05-18 16:20:54 -05:00
smc_diag.h
smc.h net/smc: Add netlink support for SMC fallback statistics 2021-06-16 12:54:02 -07:00
smiapp.h
snmp.h tcp: Add stats for socket migration. 2021-06-23 12:56:08 -07:00
sock_diag.h
socket.h sock: allow reading and changing sk_userlocks with setsockopt 2021-08-04 12:52:03 +01:00
sockios.h
sonet.h
sonypi.h
sound.h
soundcard.h
stat.h
stddef.h stddef: Introduce struct_group() helper macro 2021-09-25 08:20:47 -07:00
stm.h
string.h
suspend_ioctls.h
swab.h
switchtec_ioctl.h
sync_file.h
synclink.h
sysctl.h net: allow user to set metric on default route learned via Router Advertisement 2021-01-26 18:39:45 -08:00
sysinfo.h
target_core_user.h scsi: target: tcmu: Add new feature KEEP_BUF 2021-08-03 07:27:42 -04:00
taskstats.h
tcp_metrics.h
tcp.h tcp: Sanitize CMSG flags and reserved args in tcp_zerocopy_receive. 2021-02-11 18:25:05 -08:00
tee.h tee: fix some comment typos in header files 2021-02-02 14:50:15 +01:00
termios.h tty: drop termiox user definitions 2021-01-07 16:17:32 +01:00
thermal.h thermal: Fix spelling mistake "disabed" -> "disabled" 2021-03-11 12:13:08 +01:00
time_types.h
time.h
timerfd.h
times.h
timex.h
tiocl.h
tipc_config.h
tipc_netlink.h
tipc_sockets_diag.h
tipc.h
tls.h
toshiba.h
tty_flags.h tty: add ASYNC_SPLIT_TERMIOS to deprecation mask 2021-04-10 10:36:34 +02:00
tty.h
types.h
udf_fs_i.h
udmabuf.h
udp.h
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
userfaultfd.h userfaultfd/shmem: advertise shmem minor fault support 2021-06-30 20:47:27 -07:00
userio.h
utime.h
utsname.h
uuid.h
uvcvideo.h media: vpbe_osd.h/uvcvideo.h includes: fix trivial kernel-doc warnings 2021-03-22 10:24:07 +01:00
v4l2-common.h
v4l2-controls.h media: v4l2-ctrls: Add intra-refresh period control 2021-08-04 14:43:52 +02:00
v4l2-dv-timings.h
v4l2-mediabus.h
v4l2-subdev.h media: core headers: fix kernel-doc warnings 2021-03-22 10:22:22 +01:00
vbox_err.h
vbox_vmmdev_types.h
vboxguest.h
vdpa.h vdpa: Enable user to query vdpa device info 2021-02-23 07:52:56 -05:00
vduse.h vduse: Introduce VDUSE - vDPA Device in Userspace 2021-09-06 07:20:58 -04:00
veth.h
vfio_ccw.h
vfio_zdev.h
vfio.h vfio/pci: Revert nvlink removal uAPI breakage 2021-05-05 10:19:41 -06:00
vhost_types.h
vhost.h
videodev2.h media: uapi: move MPEG-2 stateless controls out of staging 2021-05-23 19:21:31 +02:00
virtio_9p.h
virtio_balloon.h
virtio_blk.h
virtio_bt.h Bluetooth: Add support for virtio transport driver 2021-04-08 12:26:34 +02:00
virtio_config.h
virtio_console.h
virtio_crypto.h
virtio_fs.h
virtio_gpio.h gpio: virtio: Fix sparse warnings 2021-08-31 11:07:05 +02:00
virtio_gpu.h
virtio_i2c.h i2c: virtio: add a virtio i2c frontend driver 2021-08-19 21:21:19 +02:00
virtio_ids.h virtio,vdpa,vhost: features, fixes 2021-09-11 14:48:42 -07:00
virtio_input.h
virtio_iommu.h
virtio_mem.h
virtio_mmio.h
virtio_net.h
virtio_pci.h
virtio_pcidev.h um: virt-pci: fix uapi documentation 2021-08-26 22:28:03 +02:00
virtio_pmem.h
virtio_ring.h
virtio_rng.h
virtio_scmi.h firmware: arm_scmi: Add virtio transport 2021-08-05 10:24:08 +01:00
virtio_scsi.h
virtio_snd.h ALSA: virtio: add virtio sound driver 2021-03-07 09:07:16 +01:00
virtio_types.h
virtio_vsock.h virtio/vsock: add 'VIRTIO_VSOCK_SEQ_EOR' bit. 2021-09-05 16:23:09 -04:00
vm_sockets_diag.h
vm_sockets.h
vmcore.h
vsockmon.h
vt.h
vtpm_proxy.h
wait.h
watch_queue.h
watchdog.h
wireguard.h
wireless.h
wmi.h
wwan.h wwan: add interface creation support 2021-06-12 13:16:45 -07:00
x25.h
xattr.h
xdp_diag.h
xfrm.h net: xfrm: fix shift-out-of-bounce 2021-07-29 08:04:10 +02:00
xilinx-v4l2-controls.h
zorro_ids.h
zorro.h