linux/include/uapi/linux
Alexei Starovoitov fec56f5890 bpf: Introduce BPF trampoline
Introduce BPF trampoline concept to allow kernel code to call into BPF programs
with practically zero overhead.  The trampoline generation logic is
architecture dependent.  It's converting native calling convention into BPF
calling convention.  BPF ISA is 64-bit (even on 32-bit architectures). The
registers R1 to R5 are used to pass arguments into BPF functions. The main BPF
program accepts only single argument "ctx" in R1. Whereas CPU native calling
convention is different. x86-64 is passing first 6 arguments in registers
and the rest on the stack. x86-32 is passing first 3 arguments in registers.
sparc64 is passing first 6 in registers. And so on.

The trampolines between BPF and kernel already exist.  BPF_CALL_x macros in
include/linux/filter.h statically compile trampolines from BPF into kernel
helpers. They convert up to five u64 arguments into kernel C pointers and
integers. On 64-bit architectures this BPF_to_kernel trampolines are nops. On
32-bit architecture they're meaningful.

The opposite job kernel_to_BPF trampolines is done by CAST_TO_U64 macros and
__bpf_trace_##call() shim functions in include/trace/bpf_probe.h. They convert
kernel function arguments into array of u64s that BPF program consumes via
R1=ctx pointer.

This patch set is doing the same job as __bpf_trace_##call() static
trampolines, but dynamically for any kernel function. There are ~22k global
kernel functions that are attachable via nop at function entry. The function
arguments and types are described in BTF.  The job of btf_distill_func_proto()
function is to extract useful information from BTF into "function model" that
architecture dependent trampoline generators will use to generate assembly code
to cast kernel function arguments into array of u64s.  For example the kernel
function eth_type_trans has two pointers. They will be casted to u64 and stored
into stack of generated trampoline. The pointer to that stack space will be
passed into BPF program in R1. On x86-64 such generated trampoline will consume
16 bytes of stack and two stores of %rdi and %rsi into stack. The verifier will
make sure that only two u64 are accessed read-only by BPF program. The verifier
will also recognize the precise type of the pointers being accessed and will
not allow typecasting of the pointer to a different type within BPF program.

The tracing use case in the datacenter demonstrated that certain key kernel
functions have (like tcp_retransmit_skb) have 2 or more kprobes that are always
active.  Other functions have both kprobe and kretprobe.  So it is essential to
keep both kernel code and BPF programs executing at maximum speed. Hence
generated BPF trampoline is re-generated every time new program is attached or
detached to maintain maximum performance.

To avoid the high cost of retpoline the attached BPF programs are called
directly. __bpf_prog_enter/exit() are used to support per-program execution
stats.  In the future this logic will be optimized further by adding support
for bpf_stats_enabled_key inside generated assembly code. Introduction of
preemptible and sleepable BPF programs will completely remove the need to call
to __bpf_prog_enter/exit().

Detach of a BPF program from the trampoline should not fail. To avoid memory
allocation in detach path the half of the page is used as a reserve and flipped
after each attach/detach. 2k bytes is enough to call 40+ BPF programs directly
which is enough for BPF tracing use cases. This limit can be increased in the
future.

BPF_TRACE_FENTRY programs have access to raw kernel function arguments while
BPF_TRACE_FEXIT programs have access to kernel return value as well. Often
kprobe BPF program remembers function arguments in a map while kretprobe
fetches arguments from a map and analyzes them together with return value.
BPF_TRACE_FEXIT accelerates this typical use case.

Recursion prevention for kprobe BPF programs is done via per-cpu
bpf_prog_active counter. In practice that turned out to be a mistake. It
caused programs to randomly skip execution. The tracing tools missed results
they were looking for. Hence BPF trampoline doesn't provide builtin recursion
prevention. It's a job of BPF program itself and will be addressed in the
follow up patches.

BPF trampoline is intended to be used beyond tracing and fentry/fexit use cases
in the future. For example to remove retpoline cost from XDP programs.

Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Andrii Nakryiko <andriin@fb.com>
Acked-by: Song Liu <songliubraving@fb.com>
Link: https://lore.kernel.org/bpf/20191114185720.1641606-5-ast@kernel.org
2019-11-15 23:41:51 +01:00
..
android Merge 5.0-rc4 into char-misc-next 2019-01-28 08:13:52 +01:00
byteorder
caif
can can: add support of SAE J1939 protocol 2019-09-04 14:22:33 +02:00
cifs
dvb media: dvb: tag deprecated DVB APIs as such 2019-06-05 10:55:30 -04:00
genwqe
hdlc
hsi
iio
isdn isdn/capi: check message length in capi_write() 2019-09-07 17:44:25 +02:00
mmc
netfilter netfilter: nf_tables: support for multiple devices per netdev hook 2019-10-23 13:01:34 +02:00
netfilter_arp net, uapi: fix -Wpointer-arith warnings 2019-10-04 14:25:17 -07:00
netfilter_bridge net, uapi: fix -Wpointer-arith warnings 2019-10-04 14:25:17 -07:00
netfilter_ipv4 net, uapi: fix -Wpointer-arith warnings 2019-10-04 14:25:17 -07:00
netfilter_ipv6 net, uapi: fix -Wpointer-arith warnings 2019-10-04 14:25:17 -07:00
nfsd nfsd: add support for upcall version 2 2019-09-10 09:26:33 -04:00
raid md: add feature flag MD_FEATURE_RAID0_LAYOUT 2019-09-13 13:10:06 -07:00
sched sched/uclamp: Extend sched_setattr() to support utilization clamping 2019-06-24 19:23:46 +02:00
spi spi: spidev: Enable control of inter-word delays 2019-03-18 12:18:28 +00:00
sunrpc
tc_act net/sched: Introduce action ct 2019-07-09 12:11:59 -07:00
tc_ematch
usb usb: gadget: composite: Set recommended BESL values 2019-08-28 13:04:59 +03:00
wimax
a.out.h
acct.h
adb.h
adfs_fs.h fs/adfs: correct disc record structure 2019-06-26 20:14:13 -04:00
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 drivers/misc: Add Aspeed P2A control driver 2019-04-25 19:33:34 +02:00
atalk.h
atm_eni.h
atm_he.h
atm_idt77105.h
atm_nicstar.h
atm_tcp.h
atm_zatm.h
atm.h
atmapi.h
atmarp.h
atmbr2684.h
atmclip.h
atmdev.h
atmioc.h
atmlec.h
atmmpc.h
atmppp.h
atmsap.h
atmsvc.h
audit.h audit: add saddr_fam filter field 2019-05-23 21:07:30 -04:00
auto_dev-ioctl.h
auto_fs.h autofs: add ignore mount option 2019-03-07 18:32:01 -08:00
auto_fs4.h
auxvec.h
ax25.h
b1lli.h
batadv_packet.h batman-adv: mcast: detect, distribute and maintain multicast router presence 2019-06-27 19:25:05 +02:00
batman_adv.h batman-adv: Add multicast-to-unicast support for multiple targets 2019-03-25 10:01:13 +01:00
baycom.h
bcache.h
bcm933xx_hcs.h
bfs_fs.h
binfmts.h exec: increase BINPRM_BUF_SIZE to 256 2019-03-07 18:32:01 -08:00
blkpg.h
blktrace_api.h
blkzoned.h
bpf_common.h
bpf_perf_event.h
bpf.h bpf: Introduce BPF trampoline 2019-11-15 23:41:51 +01:00
bpfilter.h treewide: add "WITH Linux-syscall-note" to SPDX tag of uapi headers 2019-07-25 11:05:10 +02:00
bpqether.h
bsg.h
bt-bmc.h
btf.h bpf: fix BTF limits 2019-09-19 14:22:44 +02:00
btrfs_tree.h btrfs: turn checksum type define into an enum 2019-09-09 14:59:19 +02:00
btrfs.h btrfs: clarify btrfs_ioctl_get_dev_stats padding 2019-09-09 14:59:05 +02:00
can.h can: extend sockaddr_can to include j1939 members 2019-09-04 13:29:15 +02:00
capability.h
capi.h
cciss_defs.h
cciss_ioctl.h
cdrom.h
cec-funcs.h
cec.h media: cec: add CEC_MSG_FL_RAW flag and msg_is_raw helper function 2019-05-23 05:32:40 -04:00
cgroupstats.h
chio.h
cm4000_cs.h
cn_proc.h
coda.h coda: add hinting support for partial file caching 2019-07-16 19:23:23 -07:00
coff.h linux/coff.h: add include guard 2019-09-25 17:51:39 -07:00
connector.h
const.h
coresight-stm.h
cramfs_fs.h
cryptouser.h crypto: add header include guards 2019-08-02 14:44:02 +10:00
cuda.h
cyclades.h
cycx_cfm.h
dcbnl.h net: Fix misspellings of "configure" and "configuration" 2019-10-28 13:41:01 -07:00
dccp.h
devlink.h net: devlink: allow to change namespaces during reload 2019-10-04 11:10:56 -07:00
dlm_device.h
dlm_netlink.h
dlm_plock.h
dlm.h
dlmconstants.h
dm-ioctl.h dm: introduce DM_GET_TARGET_VERSION 2019-09-16 10:18:01 -04:00
dm-log-userspace.h
dma-buf.h dma-buf: add DMA_BUF_SET_NAME ioctls 2019-06-14 15:00:51 +05:30
dn.h
dns_resolver.h
dqblk_xfs.h
edd.h
efs_fs_sb.h
elf-em.h Move EM_UNICORE to uapi/linux/elf-em.h 2019-03-20 21:11:22 -04:00
elf-fdpic.h
elf.h arm64: add ptrace regsets for ptrauth key management 2019-02-01 13:56:58 +00:00
elfcore.h
errno.h
errqueue.h errqueue.h: Include time_types.h 2019-02-14 11:51:51 -05:00
erspan.h
ethtool.h ethtool: Add support for 400Gbps (50Gbps per lane) link modes 2019-10-15 15:02:30 -07:00
eventpoll.h
fadvise.h
falloc.h
fanotify.h fanotify: add support for create/attrib/move/delete events 2019-02-07 16:43:23 +01:00
fb.h
fcntl.h vfs: syscall: Add open_tree(2) to reference or clone a mount 2019-03-20 18:49:06 -04:00
fd.h
fdreg.h
fib_rules.h
fiemap.h
filter.h
firewire-cdev.h
firewire-constants.h
fou.h fou: Support binding FoU socket 2019-03-27 13:30:07 -07:00
fpga-dfl.h fpga: dfl: fme: add DFL_FPGA_FME_PORT_RELEASE/ASSIGN ioctl support. 2019-08-05 17:56:46 +02:00
fs.h f2fs-for-5.4-rc1 2019-09-21 14:26:33 -07:00
fscrypt.h fscrypt: add FS_IOC_REMOVE_ENCRYPTION_KEY_ALL_USERS ioctl 2019-08-12 19:18:50 -07:00
fsi.h
fsl_hypervisor.h
fsmap.h
fsverity.h fs-verity: add SHA-512 support 2019-08-12 19:33:50 -07:00
fuse.h fuse: Add changelog entries for protocols 7.1 - 7.8 2019-10-23 14:26:37 +02:00
futex.h
gameport.h
gen_stats.h
genetlink.h
gfs2_ondisk.h
gigaset_dev.h
gpio.h
gsmmux.h tty: n_gsm: add ioctl to map serial device to mux'ed tty 2019-09-04 12:43:54 +02:00
gtp.h
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
hysdn_if.h
i2c-dev.h
i2c.h
i2o-dev.h
i8k.h
icmp.h
icmpv6.h ipv6: Add rate limit mask for ICMPv6 messages 2019-04-18 16:58:37 -07:00
if_addr.h
if_addrlabel.h
if_alg.h
if_arcnet.h
if_arp.h
if_bonding.h
if_bridge.h net: bridge: mcast: add delete due to fast-leave mdb flag 2019-07-31 19:13:40 -04:00
if_cablemodem.h
if_eql.h
if_ether.h net: Add a define for LLDP ethertype 2019-06-05 13:04:29 -07:00
if_fc.h
if_fddi.h
if_frad.h
if_hippi.h
if_infiniband.h
if_link.h net: rtnetlink: add linkprop commands to add and delete alternative ifnames 2019-10-01 14:47:19 -07:00
if_ltalk.h
if_macsec.h
if_packet.h packet: Fix undefined behavior in bit shift 2019-06-29 11:06:17 -07:00
if_phonet.h
if_plip.h
if_ppp.h
if_pppol2tp.h
if_pppox.h
if_slip.h
if_team.h
if_tun.h tun: Add ioctl() TUNGETDEVNETNS cmd to allow obtaining real net ns of tun device 2019-03-21 13:19:15 -07:00
if_tunnel.h
if_vlan.h vlan: support binding link state to vlan member bridge ports 2019-04-19 13:58:17 -07:00
if_x25.h
if_xdp.h xsk: add support to allow unaligned chunk placement 2019-08-31 01:08:26 +02:00
if.h net: rtnetlink: add linkprop commands to add and delete alternative ifnames 2019-10-01 14:47:19 -07:00
ife.h
igmp.h
ila.h
in_route.h
in.h
in6.h net: ipv6: add socket option IPV6_ROUTER_ALERT_ISOLATE 2019-03-03 21:05:10 -08:00
inet_diag.h net: tls: export protocol version, cipher, tx_conf/rx_conf to socket diag 2019-08-31 23:44:28 -07:00
inotify.h
input-event-codes.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2019-05-13 15:21:48 -07:00
input.h
io_uring.h io_uring: IORING_OP_TIMEOUT support 2019-09-18 10:43:22 -06:00
ioctl.h
iommu.h iommu: Add padding to struct iommu_fault 2019-06-18 17:14:35 +02:00
ip_vs.h ipvs: allow tunneling with gre encapsulation 2019-07-04 02:29:49 +02:00
ip.h
ip6_tunnel.h
ipc.h
ipmi_bmc.h treewide: add "WITH Linux-syscall-note" to SPDX tag of uapi headers 2019-07-25 11:05:10 +02:00
ipmi_msgdefs.h
ipmi.h
ipsec.h
ipv6_route.h
ipv6.h
ipx.h
irqnr.h
iso_fs.h
isst_if.h treewide: add "WITH Linux-syscall-note" to SPDX tag of uapi headers 2019-07-25 11:05:10 +02:00
ivtv.h
ivtvfb.h
jffs2.h jffs2: Remove C++ style comments from uapi header 2019-08-22 17:24:51 +02:00
joystick.h
kcm.h
kcmp.h
kcov.h
kd.h
kdev_t.h
kernel-page-flags.h mm: convert PG_balloon to PG_offline 2019-03-05 21:07:14 -08:00
kernel.h
kernelcapi.h
kexec.h parisc: add kexec syscall support 2019-09-08 15:37:04 +02:00
keyboard.h
keyctl.h Revert "Merge tag 'keys-acl-20190703' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs" 2019-07-10 18:43:43 -07:00
kfd_ioctl.h Revert "drm/amdkfd: New IOCTL to allocate queue GWS" 2019-08-07 10:21:38 -05:00
kvm_para.h KVM: X86: Yield to IPI target if necessary 2019-07-02 18:56:01 +02:00
kvm.h RISC-V additional updates for v5.4-rc1 2019-09-27 13:08:36 -07:00
l2tp.h
libc-compat.h
lightnvm.h
limits.h linux/kernel.h: split *_MAX and *_MIN macros into <linux/limits.h> 2019-03-07 18:31:59 -08:00
lirc.h media: rc: xbox_remote: add protocol and set timeout 2019-04-22 13:02:53 -04:00
llc.h
loop.h
lp.h
lwtunnel.h
magic.h erofs: move erofs out of staging 2019-08-24 14:20:10 +02:00
major.h
map_to_7segment.h
matroxfb.h
max2175.h
mdio.h net: phy: add EEE-related constants 2019-08-19 13:04:45 -07:00
media-bus-format.h media: uapi: Add MEDIA_BUS_FMT_RGB888_3X8 media bus format 2019-06-25 22:14:11 +02:00
media.h media: media.h: Fix shifting signed 32-bit value by 31 bits problem 2019-06-21 16:45:38 -04:00
mei.h mei: adjust the copyright notice in the files. 2019-03-28 02:07:54 +09:00
membarrier.h
memfd.h
mempolicy.h
meye.h
mic_common.h
mic_ioctl.h
mii.h net: phy: Add detection of 1000BaseX link mode support 2019-06-06 13:48:51 -07:00
minix_fs.h
mman.h arch: move common mmap flags to linux/mman.h 2019-02-18 17:49:30 +01:00
mmtimer.h
module.h
mount.h vfs: syscall: Add fspick() to select a superblock for reconfiguration 2019-03-20 18:49:06 -04:00
mpls_iptunnel.h
mpls.h
mqueue.h
mroute.h ipmr: ip6mr: Create new sockopt to clear mfc cache or vifs 2019-02-21 13:05:05 -08:00
mroute6.h ipmr: ip6mr: Create new sockopt to clear mfc cache or vifs 2019-02-21 13:05:05 -08:00
msdos_fs.h
msg.h
mtio.h
n_r3964.h
nbd-netlink.h
nbd.h
ncsi.h
ndctl.h nfit: Add Hyper-V NVDIMM DSM command set to white list 2019-01-29 22:09:31 -08:00
neighbour.h
net_dropmon.h drop_monitor: Make timestamps y2038 safe 2019-08-23 14:58:07 -07:00
net_namespace.h
net_tstamp.h
net.h
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
netrom.h
nexthop.h net: nexthop uapi 2019-05-28 21:37:30 -07:00
nfc.h
nfs_fs.h
nfs_idmap.h
nfs_mount.h NFS: Move internal constants out of uapi/linux/nfs_mount.h 2019-04-25 14:18:14 -04:00
nfs.h
nfs2.h
nfs3.h
nfs4_mount.h
nfs4.h
nfsacl.h
nilfs2_api.h
nilfs2_ondisk.h nilfs2: do not use unexported cpu_to_le32()/le32_to_cpu() in uapi header 2019-07-12 11:05:40 -07:00
nl80211.h nl80211: Document the expectation for NL80211_ATTR_IE in NL80211_CMD_CONNECT 2019-10-04 13:48:30 +02:00
nsfs.h
nubus.h
nvme_ioctl.h nvme: allow 64-bit results in passthru commands 2019-09-25 12:53:27 -07:00
nvram.h
omap3isp.h
omapfb.h
oom.h
openvswitch.h net: openvswitch: Set OvS recirc_id from tc chain index 2019-09-06 14:59:18 +02:00
packet_diag.h
param.h
parport.h
patchkey.h
pci_regs.h Merge branch 'lorenzo/pci/tegra' 2019-09-23 16:10:28 -05:00
pci.h
pcitest.h
perf_event.h perf: Allow normal events to output AUX data 2019-08-28 11:29:38 +02:00
personality.h
pfkeyv2.h
pg.h block: pg: add header include guard 2019-10-02 20:32:27 -06:00
phantom.h
phonet.h
pkt_cls.h net: sched: extend TCA_ACT space with TCA_ACT_FLAGS 2019-10-30 18:07:50 -07:00
pkt_sched.h taprio: Add support for hardware offloading 2019-09-16 21:32:57 +02:00
pktcdvd.h
pmu.h
poll.h
posix_acl_xattr.h
posix_acl.h
posix_types.h
ppdev.h ppdev: add header include guard 2019-07-30 20:34:34 +02:00
ppp_defs.h
ppp-comp.h
ppp-ioctl.h
pps.h
pr.h
prctl.h Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2019-09-16 18:47:53 -07:00
psample.h
psci.h firmware/psci: add support for SYSTEM_RESET2 2019-04-16 23:05:21 +02:00
psp-sev.h treewide: add "WITH Linux-syscall-note" to SPDX tag of uapi headers 2019-07-25 11:05:10 +02:00
ptp_clock.h ptp: correctly disable flags on old ioctls 2019-09-27 20:25:32 +02:00
ptrace.h ptrace: add PTRACE_GET_SYSCALL_INFO request 2019-07-16 19:23:24 -07:00
qemu_fw_cfg.h
qnx4_fs.h
qnxtypes.h
qrtr.h
quota.h
radeonfb.h
random.h
raw.h
rds.h net: rds: add service level support in rds-info 2019-08-24 16:55:25 -07:00
reboot.h
reiserfs_fs.h
reiserfs_xattr.h
resource.h
rfkill.h
rio_cm_cdev.h
rio_mport_cdev.h
romfs_fs.h
rose.h
route.h
rpmsg.h
rseq.h
rtc.h
rtnetlink.h net: rtnetlink: add linkprop commands to add and delete alternative ifnames 2019-10-01 14:47:19 -07:00
rxrpc.h treewide: add "WITH Linux-syscall-note" to SPDX tag of uapi headers 2019-07-25 11:05:10 +02:00
scc.h
sched.h copy-struct-from-user-v5.4-rc2 2019-10-04 10:36:31 -07:00
scif_ioctl.h
screen_info.h
sctp.h sctp: add SCTP_SEND_FAILED_EVENT event 2019-10-09 17:06:58 -07:00
sdla.h
seccomp.h
securebits.h
sed-opal.h block: sed-opal: ioctl for writing to shadow mbr 2019-06-29 10:33:57 -06:00
seg6_genl.h
seg6_hmac.h
seg6_iptunnel.h
seg6_local.h
seg6.h
selinux_netlink.h
sem.h
serial_core.h tty: serial: Fix PORT_LINFLEXUART definition 2019-10-04 15:57:51 +02:00
serial_reg.h
serial.h
serio.h Input: add support for the FlySky FS-iA6B RC receiver 2019-07-22 07:35:24 +03:00
shm.h
signal.h
signalfd.h
smc_diag.h
smc.h
smiapp.h
snmp.h net/tls: add TlsDeviceRxResync statistic 2019-10-05 16:29:00 -07:00
sock_diag.h
socket.h net/socket: fix GCC8+ Wpacked-not-aligned warnings 2019-08-03 11:02:46 -07:00
sockios.h net: socket: implement 64-bit timestamps 2019-04-19 14:07:40 -07:00
sonet.h
sonypi.h
sound.h
soundcard.h
stat.h
stddef.h
stm.h
string.h
suspend_ioctls.h
swab.h
switchtec_ioctl.h switchtec: Increase PFF limit from 48 to 255 2019-04-17 17:20:01 -05:00
sync_file.h
synclink.h
sysctl.h
sysinfo.h
target_core_user.h
taskstats.h
tcp_metrics.h
tcp.h tcp: add TCP_INFO status for failed client TFO 2019-10-25 19:25:37 -07:00
tee.h
termios.h
thermal.h
time_types.h Merge branch 'timers-2038-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2019-03-05 14:08:26 -08:00
time.h time: Add time_types.h 2019-02-14 11:51:51 -05:00
timerfd.h
times.h
timex.h y2038: remove struct definition redirects 2019-02-07 00:13:28 +01:00
tiocl.h
tipc_config.h net, uapi: fix -Wpointer-arith warnings 2019-10-04 14:25:17 -07:00
tipc_netlink.h tipc: support broadcast/replicast configurable for bc-link 2019-03-19 13:56:17 -07:00
tipc_sockets_diag.h
tipc.h tipc: add smart nagle feature 2019-10-30 12:16:22 -07:00
tls.h net: tls: export protocol version, cipher, tx_conf/rx_conf to socket diag 2019-08-31 23:44:28 -07:00
toshiba.h
tty_flags.h
tty.h
types.h
udf_fs_i.h
udmabuf.h
udp.h
uhid.h
uinput.h
uio.h
uleds.h
ultrasound.h
un.h
unistd.h
unix_diag.h net: Add UNIX_DIAG_UID to Netlink UNIX socket diagnostics. 2019-05-22 10:36:35 -07:00
usbdevice_fs.h USB: usbfs: Add a capability flag for runtime suspend 2019-08-14 16:52:13 +02:00
usbip.h
userfaultfd.h
userio.h
utime.h
utsname.h
uuid.h
uvcvideo.h
v4l2-common.h
v4l2-controls.h media: v4l2-ctrl: add MPEG-2 profile and level controls 2019-05-29 06:19:12 -04:00
v4l2-dv-timings.h
v4l2-mediabus.h
v4l2-subdev.h
vbox_err.h
vbox_vmmdev_types.h treewide: add "WITH Linux-syscall-note" to SPDX tag of uapi headers 2019-07-25 11:05:10 +02:00
vboxguest.h treewide: add "WITH Linux-syscall-note" to SPDX tag of uapi headers 2019-07-25 11:05:10 +02:00
veth.h
vfio_ccw.h vfio-ccw: add handling for async channel instructions 2019-04-24 14:18:51 +02:00
vfio.h Merge branches 'v5.4/vfio/alexey-tce-memory-free-v1', 'v5.4/vfio/connie-re-arrange-v2', 'v5.4/vfio/hexin-pci-reset-v3', 'v5.4/vfio/parav-mtty-uuid-v2' and 'v5.4/vfio/shameer-iova-list-v8' into v5.4/vfio/next 2019-08-23 11:26:24 -06:00
vhost_types.h
vhost.h
videodev2.h media: videodev2.h: add V4L2_FMT_FLAG_DYN_RESOLUTION 2019-08-19 14:56:31 -03:00
virtio_9p.h
virtio_balloon.h
virtio_blk.h
virtio_config.h
virtio_console.h
virtio_crypto.h
virtio_fs.h virtio-fs: add virtiofs filesystem 2019-09-18 20:17:50 +02:00
virtio_gpu.h virtio-gpu api: comment feature flags 2019-04-11 17:00:10 +02:00
virtio_ids.h virtio-fs: add virtiofs filesystem 2019-09-18 20:17:50 +02:00
virtio_input.h
virtio_iommu.h iommu/virtio: Update to most recent specification 2019-07-22 11:52:27 -04:00
virtio_mmio.h
virtio_net.h
virtio_pci.h
virtio_pmem.h treewide: add "WITH Linux-syscall-note" to SPDX tag of uapi headers 2019-07-25 11:05:10 +02:00
virtio_ring.h net, uapi: fix -Wpointer-arith warnings 2019-10-04 14:25:17 -07:00
virtio_rng.h
virtio_scsi.h
virtio_types.h
virtio_vsock.h
vm_sockets_diag.h
vm_sockets.h
vmcore.h treewide: add "WITH Linux-syscall-note" to SPDX tag of uapi headers 2019-07-25 11:05:10 +02:00
vsockmon.h
vt.h
vtpm_proxy.h
wait.h pidfd: add P_PIDFD to waitid() 2019-08-01 21:49:46 +02:00
watchdog.h
wimax.h
wireless.h
wmi.h treewide: add "WITH Linux-syscall-note" to SPDX tag of uapi headers 2019-07-25 11:05:10 +02:00
x25.h
xattr.h
xdp_diag.h
xfrm.h
xilinx-v4l2-controls.h
zorro_ids.h
zorro.h