linux-xiaomi-chiron/include/uapi/linux
Axel Rasmussen 2d5de004e0 userfaultfd: add /dev/userfaultfd for fine grained access control
Historically, it has been shown that intercepting kernel faults with
userfaultfd (thereby forcing the kernel to wait for an arbitrary amount of
time) can be exploited, or at least can make some kinds of exploits
easier.  So, in 37cd0575b8 "userfaultfd: add UFFD_USER_MODE_ONLY" we
changed things so, in order for kernel faults to be handled by
userfaultfd, either the process needs CAP_SYS_PTRACE, or this sysctl must
be configured so that any unprivileged user can do it.

In a typical implementation of a hypervisor with live migration (take
QEMU/KVM as one such example), we do indeed need to be able to handle
kernel faults.  But, both options above are less than ideal:

- Toggling the sysctl increases attack surface by allowing any
  unprivileged user to do it.

- Granting the live migration process CAP_SYS_PTRACE gives it this
  ability, but *also* the ability to "observe and control the
  execution of another process [...], and examine and change [its]
  memory and registers" (from ptrace(2)). This isn't something we need
  or want to be able to do, so granting this permission violates the
  "principle of least privilege".

This is all a long winded way to say: we want a more fine-grained way to
grant access to userfaultfd, without granting other additional permissions
at the same time.

To achieve this, add a /dev/userfaultfd misc device.  This device provides
an alternative to the userfaultfd(2) syscall for the creation of new
userfaultfds.  The idea is, any userfaultfds created this way will be able
to handle kernel faults, without the caller having any special
capabilities.  Access to this mechanism is instead restricted using e.g. 
standard filesystem permissions.

[axelrasmussen@google.com: Handle misc_register() failure properly]
  Link: https://lkml.kernel.org/r/20220819205201.658693-3-axelrasmussen@google.com
Link: https://lkml.kernel.org/r/20220808175614.3885028-3-axelrasmussen@google.com
Signed-off-by: Axel Rasmussen <axelrasmussen@google.com>
Acked-by: Nadav Amit <namit@vmware.com>
Acked-by: Peter Xu <peterx@redhat.com>
Acked-by: Mike Rapoport <rppt@linux.ibm.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: Dmitry V. Levin <ldv@altlinux.org>
Cc: Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org>
Cc: Hugh Dickins <hughd@google.com>
Cc: Jan Kara <jack@suse.cz>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Mel Gorman <mgorman@techsingularity.net>
Cc: Mike Kravetz <mike.kravetz@oracle.com>
Cc: Shuah Khan <shuah@kernel.org>
Cc: Shuah Khan <skhan@linuxfoundation.org>
Cc: Suren Baghdasaryan <surenb@google.com>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: Zhang Yi <yi.zhang@huawei.com>
Cc: Mike Rapoport <rppt@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2022-09-11 20:25:48 -07:00
..
android Binder: add TF_UPDATE_TXN to replace outdated txn 2022-06-27 16:16:30 +02:00
byteorder uapi: Fix undefined __always_inline on non-glibc systems 2021-12-21 15:09:46 -08:00
caif net: caif: drop duplicate words in comments 2020-07-15 20:34:11 -07:00
can Networking changes for 6.0. 2022-08-03 16:29:08 -07:00
cifs cifs: remove pathname for file from SPDX header 2021-09-13 14:51:10 -05:00
dvb Revert "media: dvb header files: move some headers to staging" 2021-08-23 09:49:09 -07:00
genwqe
hdlc wan/hdlc_x25: make lapb params configurable 2020-01-21 11:41:36 +01:00
hsi
iio iio: introduce mag_referenced 2022-02-21 19:33:05 +00:00
isdn isdn/capi: check message length in capi_write() 2019-09-07 17:44:25 +02:00
misc bcm-vk: add bcm_vk UAPI 2021-01-25 18:44:44 +01:00
mmc treewide: uapi: Replace zero-length arrays with flexible-array members 2022-06-28 21:26:05 +02:00
netfilter SPDX changes for 6.0-rc1 2022-08-04 12:12:54 -07:00
netfilter_arp treewide: uapi: Replace zero-length arrays with flexible-array members 2022-06-28 21:26:05 +02:00
netfilter_bridge treewide: uapi: Replace zero-length arrays with flexible-array members 2022-06-28 21:26:05 +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: move filehandle format declarations out of "uapi". 2021-10-02 15:50:45 -04:00
raid treewide: uapi: Replace zero-length arrays with flexible-array members 2022-06-28 21:26:05 +02:00
sched sched/uclamp: Allow to reset a task uclamp constraint value 2020-11-19 11:25:47 +01:00
spi spi: add SPI_RX_CPHA_FLIP mode bit 2022-04-19 13:13:47 +01: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: support hash selecting tx queue 2022-04-19 12:20:45 +02:00
tc_ematch
usb USB / Thunderbolt changes for 6.0-rc1 2022-08-04 11:41:28 -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: Introduce interfaces for virtual device creating/destroying 2021-10-05 16:14:10 +02:00
adb.h
adfs_fs.h fs/adfs: correct disc record structure 2019-06-26 20:14:13 -04:00
affs_hardblocks.h
agpgart.h agpgart.h: do not include <stdlib.h> from exported header 2022-05-13 10:56:10 +02:00
aio_abi.h aio: Comment use of IOCB_FLAG_IOPRIO aio flag 2018-11-19 19:03:43 -07:00
am437x-vpfe.h
amt.h amt: add control plane of amt interface 2021-11-01 13:36:08 +00:00
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.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
atmapi.h
atmarp.h
atmbr2684.h
atmclip.h
atmdev.h
atmioc.h atm: Replace HTTP links with HTTPS ones 2020-07-13 17:01:44 -07:00
atmlec.h
atmmpc.h
atmppp.h
atmsap.h
atmsvc.h
audit.h LoongArch: Add ELF-related definitions 2022-06-03 20:09:27 +08:00
auto_dev-ioctl.h autofs: fix doubled word 2020-08-12 10:58:00 -07:00
auto_fs.h autofs: add ignore mount option 2019-03-07 18:32:01 -08:00
auto_fs4.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
bcm933xx_hcs.h
bfs_fs.h bfs: extra sanity checking and static inode bitmap 2019-01-04 13:13:47 -08:00
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 treewide: uapi: Replace zero-length arrays with flexible-array members 2022-06-28 21:26:05 +02:00
bpf.h Networking changes for 6.0. 2022-08-03 16:29:08 -07:00
bpf_common.h
bpf_perf_event.h
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: Add btf enum64 support 2022-06-07 10:20:42 -07:00
btrfs.h for-5.20-tag 2022-08-03 14:54:52 -07:00
btrfs_tree.h treewide: uapi: Replace zero-length arrays with flexible-array members 2022-06-28 21:26:05 +02:00
cachefiles.h cachefiles: implement on-demand read 2022-05-18 00:11:18 +08: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 cdrom: mark CDROMGETSPINDOWN/CDROMSETSPINDOWN obsolete 2022-05-15 18:31:28 -06:00
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: cec.h: add cec_msg_recv_is_rx/tx_result helpers 2022-04-24 07:40:13 +01:00
cfm_bridge.h bridge: cfm: Kernel space implementation of CFM. CCM frame RX added. 2020-10-29 18:39:43 -07:00
cgroupstats.h
chio.h scsi: ch: add include guard to chio.h 2019-10-09 22:31:14 -04:00
close_range.h fs, close_range: add flag CLOSE_RANGE_CLOEXEC 2020-12-04 12:06:15 +01:00
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
comedi.h comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
connector.h treewide: uapi: Replace zero-length arrays with flexible-array members 2022-06-28 21:26:05 +02:00
const.h uapi: move constants from <linux/kernel.h> to <linux/const.h> 2020-12-15 12:13:36 -08:00
coresight-stm.h coresight: stm: Support marked packet 2020-09-17 18:46:04 +02:00
counter.h counter: add new COUNTER_EVENT_CHANGE_OF_STATE 2022-03-18 14:04:30 +01:00
cramfs_fs.h
cryptouser.h crypto: add header include guards 2019-08-02 14:44:02 +10:00
cuda.h
cxl_mem.h cxl/mbox: Use type __u32 for mailbox payload sizes 2022-04-22 16:12:04 -07:00
cyclades.h tty: Partially revert the removal of the Cyclades public API 2022-01-26 14:49:46 +01:00
cycx_cfm.h treewide: uapi: Replace zero-length arrays with flexible-array members 2022-06-28 21:26:05 +02:00
dcbnl.h net: Fix misspellings of "configure" and "configuration" 2019-10-28 13:41:01 -07:00
dccp.h
devlink.h devlink: introduce framework for selftests 2022-07-28 21:56:53 -07:00
dlm.h
dlm_device.h treewide: Replace 0-element memcpy() destinations with flexible arrays 2021-10-18 12:28:53 -07:00
dlm_netlink.h
dlm_plock.h
dlmconstants.h
dm-ioctl.h flexible-array transformations in UAPI for 6.0-rc1 2022-08-02 19:50:47 -07: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: heaps: Use _IOCTL_ for userspace IOCTL identifier 2019-12-17 21:37:40 +05:30
dn.h
dns_resolver.h dns: Allow the dns resolver to retrieve a server set 2018-10-04 09:40:52 -07:00
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 LoongArch: Add ELF-related definitions 2022-06-03 20:09:27 +08:00
elf-fdpic.h
elf.h s390: add ELF note type for encrypted CPU state of a PV VCPU 2022-07-28 18:05:24 +02:00
errno.h
errqueue.h icmp: support rfc 4884 2020-07-19 19:20:22 -07:00
erspan.h
ethtool.h treewide: uapi: Replace zero-length arrays with flexible-array members 2022-06-28 21:26:05 +02:00
ethtool_netlink.h net: ethtool: extend ringparam set/get APIs for tx_push 2022-04-15 11:41:35 -07:00
eventpoll.h
f2fs.h f2fs: revive F2FS_IOC_ABORT_VOLATILE_WRITE 2022-08-05 04:17:57 -07:00
fadvise.h
falloc.h
fanotify.h flexible-array transformations in UAPI for 6.0-rc1 2022-08-02 19:50:47 -07:00
fb.h linux/fb.h: Spelling s/palette/palette/ 2022-04-04 08:55:23 +02:00
fcntl.h vfs: add faccessat2 syscall 2020-05-14 16:44:25 +02:00
fd.h floppy: cleanups: remove trailing whitespaces 2021-04-20 08:59:03 -06:00
fdreg.h floppy: add references to 82077's extra registers 2020-05-12 19:34:52 +03:00
fib_rules.h
fiemap.h treewide: uapi: Replace zero-length arrays with flexible-array members 2022-06-28 21:26:05 +02:00
filter.h
firewire-cdev.h treewide: uapi: Replace zero-length arrays with flexible-array members 2022-06-28 21:26:05 +02:00
firewire-constants.h
fou.h fou: Support binding FoU socket 2019-03-27 13:30:07 -07:00
fpga-dfl.h fpga: dfl: afu: add AFU interrupt support 2020-07-06 21:37:08 -07:00
fs.h treewide: uapi: Replace zero-length arrays with flexible-array members 2022-06-28 21:26:05 +02:00
fscrypt.h fscrypt: Add HCTR2 support for filename encryption 2022-06-10 16:40:18 +08:00
fsi.h fsi: sbefifo: Implement FSI_SBEFIFO_READ_TIMEOUT_SECONDS ioctl 2022-02-21 19:38:17 +10:30
fsl_hypervisor.h
fsl_mc.h bus: fsl-mc: add fsl-mc userspace support 2021-01-27 15:13:52 +01:00
fsmap.h fsmap.h: add linux/fsmap.h to UAPI compile-test coverage 2022-02-17 09:09:37 +01:00
fsverity.h fs-verity: support reading signature with ioctl 2021-02-07 14:51:19 -08:00
fuse.h fuse: support per inode DAX in fuse protocol 2021-12-14 11:09:36 +01:00
futex.h futex: Implement sys_futex_waitv() 2021-10-07 13:51:11 +02:00
gameport.h
gen_stats.h net_sched: add TCA_STATS_PKT64 attribute 2019-11-05 18:20:55 -08:00
genetlink.h genetlink: correct uAPI defines 2022-08-10 13:49:50 +01:00
gfs2_ondisk.h gfs2: Add trusted xattr support 2021-02-08 13:01:24 +01:00
gpio.h gpiolib: cdev: Add hardware timestamp clock type 2022-05-04 11:06:13 +02:00
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 gtp: Implement GTP echo request 2022-03-11 08:28:05 -08:00
hash_info.h crypto: streebog - register Streebog in hash info for IMA 2018-11-16 14:09:40 +08:00
hdlc.h
hdlcdrv.h
hdreg.h
hid.h
hiddev.h
hidraw.h HID: hidraw: Add additional hidraw input/output report ioctls. 2020-11-27 15:48:31 +01:00
hpet.h
hsr_netlink.h hsr: enhance netlink socket interface to support PRP 2020-07-27 12:20:40 -07:00
hw_breakpoint.h
hyperv.h hv_utils: Add comment about max VMbus packet size in VSS driver 2022-02-18 13:08:18 +00:00
i2c-dev.h Revert "Merge branch 'mctp-i2c-driver'" 2021-11-15 07:53:10 -08:00
i2c.h Revert "Merge branch 'mctp-i2c-driver'" 2021-11-15 07:53:10 -08: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: Correct IAX operation code names 2022-07-21 18:10:43 +05:30
if.h net: Add IF_OPER_TESTING 2020-04-20 12:43:24 -07:00
if_addr.h net: Add new protocol attribute to IP addresses 2022-02-18 21:20:06 -08:00
if_addrlabel.h
if_alg.h treewide: uapi: Replace zero-length arrays with flexible-array members 2022-06-28 21:26:05 +02:00
if_arcnet.h treewide: uapi: Replace zero-length arrays with flexible-array members 2022-06-28 21:26:05 +02:00
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: mst: Support setting and reporting MST port states 2022-03-17 16:49:57 -07:00
if_cablemodem.h
if_eql.h
if_ether.h net: dsa: add Renesas RZ/N1 switch tag driver 2022-06-27 11:37:55 +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 Bonding: add per-port priority for failover re-selection 2022-06-24 11:27:59 +01:00
if_ltalk.h
if_macsec.h macsec: Netlink support of XPN cipher suites (IEEE 802.1AEbw) 2020-03-16 01:42:31 -07:00
if_packet.h net/packet: make packet_fanout.arr size configurable up to 64K 2020-11-09 16:41:40 -08:00
if_phonet.h
if_plip.h
if_ppp.h
if_pppol2tp.h l2tp: remove tunnel and session debug flags field 2020-08-22 12:44:37 -07:00
if_pppox.h treewide: uapi: Replace zero-length arrays with flexible-array members 2022-06-28 21:26:05 +02:00
if_slip.h
if_team.h
if_tun.h treewide: uapi: Replace zero-length arrays with flexible-array members 2022-06-28 21:26:05 +02:00
if_tunnel.h net/sched: Allow flower to match on GTP options 2022-03-11 08:28:27 -08:00
if_vlan.h vlan: support binding link state to vlan member bridge ports 2019-04-19 13:58:17 -07:00
if_x25.h docs: networking: convert x25-iface.txt to ReST 2020-05-01 12:24:40 -07:00
if_xdp.h xsk: Add new statistics 2020-07-13 15:32:56 -07:00
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.h net/ipv4/ipv6: Replace one-element arraya with flexible-array members 2021-08-05 11:46:42 +01:00
in6.h ipv6: ioam: Data plane support for Pre-allocated Trace 2021-07-21 08:14:33 -07:00
in_route.h
inet_diag.h treewide: uapi: Replace zero-length arrays with flexible-array members 2022-06-28 21:26:05 +02:00
inotify.h treewide: uapi: Replace zero-length arrays with flexible-array members 2022-06-28 21:26:05 +02:00
input-event-codes.h Input: add Marine Navigation Keycodes 2022-04-17 13:13:53 -07:00
input.h Input updates for v5.19-rc6 2022-07-17 07:52:46 -07:00
io_uring.h io_uring: uapi: Add extern "C" in io_uring.h for liburing 2022-08-23 07:22:33 -06:00
ioam6.h ipv6: ioam: Support for IOAM injection with lwtunnels 2021-07-21 08:14:33 -07:00
ioam6_genl.h ipv6: ioam: IOAM Generic Netlink API 2021-07-21 08:14:33 -07:00
ioam6_iptunnel.h uapi: ioam: Insertion frequency 2022-02-04 20:24:45 -08:00
ioctl.h
iommu.h iommu: Remove guest pasid related interfaces and definitions 2022-02-28 13:25:48 +01:00
ioprio.h block: fix default IO priority handling 2021-08-18 07:23:15 -06:00
ip.h treewide: uapi: Replace zero-length arrays with flexible-array members 2022-06-28 21:26:05 +02:00
ip6_tunnel.h
ip_vs.h treewide: uapi: Replace zero-length arrays with flexible-array members 2022-06-28 21:26:05 +02:00
ipc.h
ipmi.h ipmi: Add support for IPMB direct messages 2021-10-05 06:54:16 -05:00
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:msghandler: retry to get device id on an error 2020-09-15 09:57:45 -05:00
ipsec.h
ipv6.h net/ipv6: Expand and rename accept_unsolicited_na to accept_untracked_na 2022-05-31 11:36:57 +02:00
ipv6_route.h
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: drop a duplicated word in isst_if.h 2020-07-27 16:34:12 +03:00
ivtv.h
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 console: Delete unused con_font_copy() callback implementations 2020-11-16 16:27:03 +01:00
kdev_t.h
kernel-page-flags.h mm: convert PG_balloon to PG_offline 2019-03-05 21:07:14 -08:00
kernel.h uapi: move constants from <linux/kernel.h> to <linux/const.h> 2020-12-15 12:13:36 -08:00
kernelcapi.h
kexec.h LoongArch: Add ELF-related definitions 2022-06-03 20:09:27 +08:00
keyboard.h vt: keyboard, sort key types by their number 2020-11-04 16:43:38 +01:00
keyctl.h watch_queue: Add a key/keyring notification facility 2020-05-19 15:19:06 +01:00
kfd_ioctl.h drm/amdkfd: bump KFD version for unified ctx save/restore memory 2022-07-12 16:50:44 -04:00
kfd_sysfs.h drm/amdkfd: make SPDX License expression more sound 2022-01-11 15:44:27 -05:00
kvm.h ARM: 2022-08-04 14:59:54 -07:00
kvm_para.h KVM: X86: Introduce KVM_HC_MAP_GPA_RANGE hypercall 2021-06-17 14:25:39 -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: Add support for file reparenting with LANDLOCK_ACCESS_FS_REFER 2022-05-23 13:27:59 +02:00
libc-compat.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: 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
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
lwtunnel.h ipv6: ioam: Support for IOAM injection with lwtunnels 2021-07-21 08:14:33 -07:00
magic.h mm: Convert all PageMovable users to movable_operations 2022-08-02 12:34:03 -04: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
map_to_14segment.h uapi: Add <linux/map_to_14segment.h> 2021-10-21 23:36:28 +02:00
matroxfb.h
max2175.h
mctp.h mctp: Add SIOCMCTP{ALLOC,DROP}TAG ioctls for tag control 2022-02-09 12:00:11 +00:00
mdio.h net: phy: Add 10BASE-T1L support in phy-c45 2022-05-01 17:45:35 +01:00
media-bus-format.h media: uapi: Add some RGB bus formats for i.MX8qm/qxp pixel combiner 2022-06-20 21:15:04 +02:00
media.h media: media.h: remove unneeded <stdint.h> inclusion 2022-04-24 08:27:37 +01:00
mei.h mei: add connect with vtag ioctl 2020-08-18 15:44:44 +02:00
membarrier.h rseq/membarrier: Add MEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQ 2020-09-25 14:23:27 +02:00
memfd.h mm/hugetlb: add mmap() encodings for 32MB and 512MB page sizes 2018-10-05 16:32:04 -07:00
mempolicy.h mm/mempolicy: add MPOL_PREFERRED_MANY for multiple preferred nodes 2021-09-03 09:58:17 -07:00
meye.h
mii.h ethtool: provide UAPI for PHY master/slave configuration. 2020-05-06 17:45:45 -07:00
minix_fs.h treewide: uapi: Replace zero-length arrays with flexible-array members 2022-06-28 21:26:05 +02:00
mman.h powerpc/8xx: Support 16k hugepages with 4k pages 2020-09-15 22:13:31 +10:00
mmtimer.h
module.h module: add in-kernel support for decompressing 2022-01-11 18:45:02 -08:00
mount.h move_mount: allow to add a mount into an existing group 2021-07-26 14:45:18 +02:00
mpls.h
mpls_iptunnel.h
mptcp.h mptcp: fix conflict with <netinet/in.h> 2022-06-28 20:45:43 -07:00
mqueue.h
mroute.h ipmr: Add high byte of VIF ID to igmpmsg 2020-09-10 12:25:51 -07:00
mroute6.h net: ip6mr: add support for passing full packet on wrong mif 2022-02-19 16:05:54 +00:00
mrp_bridge.h net: mrp: move struct definitions out of uapi 2021-01-23 12:38:42 -08:00
msdos_fs.h fat: move MAX_FAT to fat.h and change it to inline function 2019-01-04 13:13:47 -08:00
msg.h y2038: uapi: change __kernel_time_t to __kernel_old_time_t 2019-11-15 14:38:29 +01:00
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 net/ncsi: Configure multi-package, multi-channel modes with failover 2018-11-17 21:09:49 -08:00
ndctl.h treewide: uapi: Replace zero-length arrays with flexible-array members 2022-06-28 21:26:05 +02:00
neighbour.h net, neigh: introduce interval_probe_time_ms for periodic probe 2022-06-30 13:14:35 +02:00
net.h Revert "net: add pf_family_names[] for protocol family" 2021-06-18 13:02:45 -07:00
net_dropmon.h treewide: uapi: Replace zero-length arrays with flexible-array members 2022-06-28 21:26:05 +02:00
net_namespace.h netns: enable to dump full nsid translation table 2018-11-27 16:20:20 -08:00
net_tstamp.h net_tstamp: define new flag HWTSTAMP_FLAG_BONDED_PHC_INDEX 2021-12-29 12:31:36 -08:00
netconf.h route: add support for directed broadcast forwarding 2018-07-29 12:37:06 -07:00
netdevice.h
netfilter.h netfilter: Introduce egress hook 2021-10-14 23:06:28 +02:00
netfilter_arp.h
netfilter_bridge.h netfilter: bridge: define INT_MIN & INT_MAX in userspace 2018-10-25 10:25:22 +02:00
netfilter_decnet.h netfilter: remove NFC_* cache bits 2018-12-01 12:38:32 +01:00
netfilter_ipv4.h netfilter: remove NFC_* cache bits 2018-12-01 12:38:32 +01:00
netfilter_ipv6.h netfilter: remove NFC_* cache bits 2018-12-01 12:38:32 +01:00
netlink.h net: netlink: add NLM_F_BULK delete request modifier 2022-04-13 12:46:26 +01:00
netlink_diag.h
netrom.h
nexthop.h nexthop: Add netlink defines and enumerators for resilient NH groups 2021-03-11 16:12:59 -08:00
nfc.h nfc: uapi: use kernel size_t to fix user-space builds 2021-12-27 14:58:37 +00:00
nfs.h
nfs2.h
nfs3.h NFSD: Update the SETATTR3args decoder to use struct xdr_stream 2021-01-25 09:36:25 -05:00
nfs4.h NFSv4.1 support for NFS4_RESULT_PRESERVER_UNLINKED 2022-02-25 18:50:12 -05:00
nfs4_mount.h
nfs_fs.h NFS: Remove remaining dfprintks related to fscache and remove NFSDBG_FSCACHE 2022-03-13 12:59:35 -04:00
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
nfsacl.h NFSACL: Replace PROC() macro with open code 2020-10-02 09:37:41 -04:00
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
nitro_enclaves.h nitro_enclaves: Add fixes for checkpatch spell check reports 2021-09-14 11:11:20 +02:00
nl80211-vnd-intel.h nl80211: vendor-cmd: intel: add more details for IWL_MVM_VENDOR_CMD_HOST_GET_OWNERSHIP 2021-10-21 17:25:17 +02:00
nl80211.h wifi: nl80211: add MLO link ID to the NL80211_CMD_FRAME TX API 2022-07-22 14:28:33 +02:00
nsfs.h
nubus.h
nvme_ioctl.h nvme: enable uring-passthrough for admin commands 2022-05-20 06:17:33 -06:00
nvram.h
omap3isp.h media: omap3isp: Use struct_group() for memcpy() region 2022-02-27 10:58:04 -08:00
omapfb.h
oom.h
openat2.h fs: expose LOOKUP_CACHED through openat2() RESOLVE_CACHED 2021-01-04 11:42:26 -05:00
openvswitch.h net: openvswitch: fix uAPI incompatibility with existing user space 2022-03-10 20:14:52 -08:00
packet_diag.h
param.h
parport.h
patchkey.h
pci.h
pci_regs.h PCI/DOE: Add DOE mailbox support functions 2022-07-19 15:38:04 -07:00
pcitest.h PCI: Fix kernel-doc formatting 2021-07-06 10:37:46 -05:00
perf_event.h flexible-array transformations in UAPI for 6.0-rc1 2022-08-02 19:50:47 -07:00
personality.h
pfkeyv2.h xfrm: Add support for SM4 symmetric cipher algorithm 2021-12-23 09:32:51 +01:00
pfrut.h ACPI: Introduce Platform Firmware Runtime Telemetry driver 2021-12-27 17:12:58 +01:00
pg.h block: pg: add header include guard 2019-10-02 20:32:27 -06:00
phantom.h
phonet.h
pidfd.h pidfd: support PIDFD_NONBLOCK in pidfd_open() 2020-09-04 12:34:50 +02:00
pkt_cls.h Networking changes for 6.0. 2022-08-03 16:29:08 -07:00
pkt_sched.h fq_codel: generalise ce_threshold marking for subset of traffic 2021-10-20 15:24:36 -07:00
pktcdvd.h
pmu.h m68k/mac: Fix PRAM accessors 2019-01-22 10:21:45 +01:00
poll.h
posix_acl.h
posix_acl_xattr.h
posix_types.h
ppdev.h ppdev: add header include guard 2019-07-30 20:34:34 +02:00
ppp-comp.h
ppp-ioctl.h ppp: Fix PPPIOCUNBRIDGECHAN request number 2020-12-21 17:36:48 -08:00
ppp_defs.h y2038: syscall implementation cleanups 2019-12-01 14:00:59 -08:00
pps.h
pr.h
prctl.h arm64/sme: Implement vector length configuration prctl()s 2022-04-22 18:50:54 +01: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 KVM: arm64: Expose PSCI SYSTEM_RESET2 call to the guest 2022-02-21 16:02:55 +00:00
psp-sev.h crypto: ccp - Add support for SEV-ES to the PSP driver 2020-04-30 15:19:33 +10:00
ptp_clock.h ptp: introduce a phase offset in the periodic output request 2020-07-19 19:22:56 -07:00
ptrace.h ptrace: Move setting/clearing ptrace_message into ptrace_stop 2022-03-18 09:44:19 -05:00
qemu_fw_cfg.h
qnx4_fs.h
qnxtypes.h
qrtr.h
quota.h
radeonfb.h
random.h treewide: uapi: Replace zero-length arrays with flexible-array members 2022-06-28 21:26:05 +02:00
rds.h rds: transport module should be auto loaded when transport is set 2020-06-25 16:26:25 -07:00
reboot.h
reiserfs_fs.h
reiserfs_xattr.h reiserfs_xattr.h: add linux/reiserfs_xattr.h to UAPI compile-test coverage 2022-02-17 09:09:38 +01:00
remoteproc_cdev.h remoteproc: Add remoteproc character device interface 2020-08-04 20:16:37 -07:00
resource.h Increase default MLOCK_LIMIT to 8 MiB 2021-12-10 17:10:55 -08: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: rkisp1: uapi: document which flags/structs relate to statistics config 2021-04-06 10:29:56 +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.h uapi: fix big endian definition of ipv6_rpl_sr_hdr 2021-01-25 15:14:16 -08:00
rpl_iptunnel.h net: ipv6: add rpl sr tunnel 2020-03-29 22:30:57 -07:00
rpmsg.h rpmsg: ctrl: Introduce new RPMSG_CREATE/RELEASE_DEV_IOCTL controls 2022-03-13 11:49:53 -05:00
rpmsg_types.h rpmsg: Introduce __rpmsg{16|32|64} types 2020-11-24 10:10:59 -06:00
rseq.h rseq: Remove broken uapi field layout on 32-bit little endian 2022-02-02 13:11:34 +01:00
rtc.h rtc: add new RTC_FEATURE_ALARM_WAKEUP_ONLY feature 2022-03-23 19:58:40 +01:00
rtnetlink.h treewide: uapi: Replace zero-length arrays with flexible-array members 2022-06-28 21:26:05 +02:00
rxrpc.h rxrpc: Fix accept on a connection that need securing 2020-10-05 16:35:57 +01:00
scc.h linux/scc.h: make uapi linux/scc.h self-contained 2019-12-04 19:44:12 -08:00
sched.h clone3: allow spawning processes into cgroups 2020-02-12 17:57:51 -05:00
scif_ioctl.h
screen_info.h
sctp.h treewide: uapi: Replace zero-length arrays with flexible-array members 2022-06-28 21:26:05 +02:00
seccomp.h seccomp: Add wait_killable semantic to seccomp user notifier 2022-05-03 14:11:58 -07:00
securebits.h
sed-opal.h block: sed-opal: Add support to read/write opal tables generically 2019-11-04 07:11:31 -07:00
seg6.h treewide: uapi: Replace zero-length arrays with flexible-array members 2022-06-28 21:26:05 +02: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 support for SRv6 End.DT46 Behavior 2021-06-18 11:35:47 -07:00
selinux_netlink.h
sem.h y2038: uapi: change __kernel_time_t to __kernel_old_time_t 2019-11-15 14:38:29 +01:00
serial.h serial: Support for RS-485 multipoint addresses 2022-06-27 14:44:20 +02:00
serial_core.h serial: remove VR41XX serial driver 2022-07-16 08:16:01 +02:00
serial_reg.h serial: Use bits for UART_LSR_BRK_ERROR_BITS/MSR_ANY_DELTA 2022-06-27 14:41:31 +02:00
serio.h Input: avoid BIT() macro usage in the serio.h UAPI header 2020-03-24 15:59:34 -07:00
sev-guest.h virt: sevguest: Add support to get extended report 2022-04-07 16:47:12 +02:00
shm.h y2038: uapi: change __kernel_time_t to __kernel_old_time_t 2019-11-15 14:38:29 +01:00
signal.h
signalfd.h signalfd: Remove SIL_PERF_EVENT fields from signalfd_siginfo 2021-05-18 16:20:54 -05:00
smc.h net/smc: Extend SMC-R link group netlink attribute 2022-07-18 11:19:17 +01:00
smc_diag.h Partially revert "net/smc: Add netlink net namespace support" 2022-02-02 07:42:41 -08:00
smiapp.h
snmp.h tls: rx: add counter for NoPad violations 2022-07-11 19:48:33 -07:00
sock_diag.h bpf: INET_DIAG support in bpf_sk_storage 2020-02-27 18:50:19 -08:00
socket.h socket: Don't use u8 type in uapi socket.h 2022-06-01 16:48:05 -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 kbuild: move headers_check.pl to usr/include/ 2022-01-08 17:41:00 +09:00
stat.h uapi: fix statx attribute value overlap for DAX & MOUNT_ROOT 2020-12-03 10:03:14 -08:00
stddef.h uapi/linux/stddef.h: Add include guards 2022-03-31 13:04:44 -07: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.h: move explicit cast outside ternary 2022-06-16 19:58:21 -07:00
switchtec_ioctl.h PCI/switchtec: Add Gen4 flash information interface support 2020-01-15 11:00:39 -06:00
sync_file.h
synclink.h
sysctl.h net, neigh: introduce interval_probe_time_ms for periodic probe 2022-06-30 13:14:35 +02:00
sysinfo.h
target_core_user.h treewide: uapi: Replace zero-length arrays with flexible-array members 2022-06-28 21:26:05 +02:00
taskstats.h delayacct: track delays from write-protect copy 2022-06-01 15:55:25 -07:00
tcp.h tcp: Sanitize CMSG flags and reserved args in tcp_zerocopy_receive. 2021-02-11 18:25:05 -08:00
tcp_metrics.h
tee.h tee: remove flags TEE_IOCTL_SHM_MAPPED and TEE_IOCTL_SHM_DMA_BUF 2022-04-26 10:17:03 +02:00
termios.h tty: drop termiox user definitions 2021-01-07 16:17:32 +01:00
thermal.h thermal: netlink: Add a new event to notify CPU capabilities change 2022-02-03 19:50:49 +01:00
time.h y2038: hide timeval/timespec/itimerval/itimerspec types 2020-02-21 11:22:15 -08:00
time_types.h y2038: rename itimerval to __kernel_old_itimerval 2019-12-18 18:07:33 +01:00
timerfd.h
times.h
timex.h y2038: sparc: remove use of struct timex 2019-12-18 18:07:33 +01:00
tiocl.h
tipc.h tipc: add automatic rekeying for encryption key 2020-09-18 13:58:37 -07:00
tipc_config.h net, uapi: remove inclusion of arpa/inet.h 2022-04-06 13:48:02 +01:00
tipc_netlink.h tipc: add automatic rekeying for encryption key 2020-09-18 13:58:37 -07:00
tipc_sockets_diag.h
tls.h tls: rx: add sockopt for enabling optimistic decrypt with TLS 1.3 2022-07-06 12:56:35 +01:00
toshiba.h
tty.h tty: Add N_CAN327 line discipline ID for ELM327 based CAN driver 2022-06-27 16:25:41 +02:00
tty_flags.h tty: add ASYNC_SPLIT_TERMIOS to deprecation mask 2021-04-10 10:36:34 +02:00
types.h linux/types.h: reinstate "__bitwise__" macro for user space use 2022-05-25 10:08:59 -07:00
ublk_cmd.h ublk_cmd.h: add one new ublk command: UBLK_IO_NEED_GET_DATA 2022-08-02 21:13:40 -06:00
udf_fs_i.h
udmabuf.h Add udmabuf misc device 2018-09-03 13:29:38 +02:00
udp.h xfrm: add espintcp (RFC 8229) 2019-12-09 09:59:07 +01:00
uhid.h
uinput.h
uio.h
uleds.h
ultrasound.h
um_timetravel.h um: Implement time-travel=ext 2020-03-29 23:29:08 +02:00
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 treewide: uapi: Replace zero-length arrays with flexible-array members 2022-06-28 21:26:05 +02:00
usbip.h
userfaultfd.h userfaultfd: add /dev/userfaultfd for fine grained access control 2022-09-11 20:25:48 -07:00
userio.h
utime.h y2038: uapi: change __kernel_time_t to __kernel_old_time_t 2019-11-15 14:38:29 +01:00
utsname.h
uuid.h uuid: remove licence boilerplate text from the header 2022-01-20 08:52:54 +02:00
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 media: v4l2-common.h: put backwards compat defines under #ifndef __KERNEL__ 2018-11-20 13:22:40 -05:00
v4l2-controls.h media: uapi: move HEVC stateless controls out of staging 2022-07-15 17:36:58 +01:00
v4l2-dv-timings.h
v4l2-mediabus.h media: v4l2: extend the CSC API to subdevice. 2020-09-26 10:22:29 +02:00
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 virt: vbox: Add a few new vmmdev request types to the userspace whitelist 2020-07-10 13:45:32 +02:00
vboxguest.h virt: vbox: Add support for the new VBG_IOCTL_ACQUIRE_GUEST_CAPABILITIES ioctl 2020-07-10 13:45:32 +02:00
vdpa.h vdpa: Add support for querying vendor statistics 2022-05-31 12:44:20 -04:00
vduse.h vduse: Support querying information of IOVA regions 2022-08-11 04:26:08 -04:00
veth.h
vfio.h include/uapi/linux/vfio.h: Fix trivial typo - _IORW should be _IOWR instead 2022-05-16 12:39:43 -06:00
vfio_ccw.h vfio-ccw: Introduce a new CRW region 2020-06-03 11:27:43 +02:00
vfio_zdev.h vfio-pci/zdev: different maxstbl for interpreted devices 2022-07-11 09:54:37 +02:00
vhost.h vhost-vdpa: uAPI to suspend the device 2022-08-11 04:31:15 -04:00
vhost_types.h virtio: fatures, fixes 2022-08-12 09:50:34 -07:00
videodev2.h media: Add P010 tiled format 2022-07-17 10:58:06 +01: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: correct tags for config space fields 2020-08-05 09:30:20 -04:00
virtio_blk.h virtio_blk: correct tags for config space fields 2020-08-05 11:08:39 -04:00
virtio_bt.h Bluetooth: Add support for virtio transport driver 2021-04-08 12:26:34 +02:00
virtio_config.h virtio: queue_reset: add VIRTIO_F_RING_RESET 2022-08-11 04:06:40 -04:00
virtio_console.h virtio_console: correct tags for config space fields 2020-08-05 11:08:39 -04:00
virtio_crypto.h virtio-crypto: introduce akcipher service 2022-03-28 16:52:58 -04:00
virtio_fs.h virtiofs: set up virtio_fs dax_device 2020-09-10 11:39:22 +02:00
virtio_gpio.h virtio_gpio: drop packed attribute 2021-11-04 16:36:54 +01:00
virtio_gpu.h virtio-gpu api: multiple context types with explicit initialization 2021-09-29 09:22:29 +02:00
virtio_i2c.h i2c: virtio: Add support for zero-length requests 2021-11-01 05:26:48 -04:00
virtio_ids.h virtio: fix virtio transitional ids 2022-05-10 07:22:28 -04:00
virtio_input.h virtio_input: correct tags for config space fields 2020-08-05 11:08:40 -04:00
virtio_iommu.h iommu/virtio: Add definitions for VIRTIO_IOMMU_F_BYPASS_CONFIG 2021-12-06 15:03:05 +01:00
virtio_mem.h virtio-mem: support VIRTIO_MEM_F_UNPLUGGED_INACCESSIBLE 2021-11-10 15:32:38 +01:00
virtio_mmio.h virtio: Implement get_shm_region for MMIO transport 2020-09-10 10:05:58 +02:00
virtio_net.h net: virtio_net: notifications coalescing support 2022-08-11 04:26:07 -04:00
virtio_pci.h virtio_pci: struct virtio_pci_common_cfg add queue_reset 2022-08-11 04:06:40 -04:00
virtio_pcidev.h um: virt-pci: fix uapi documentation 2021-08-26 22:28:03 +02:00
virtio_pmem.h virtio_pmem: correct tags for config space fields 2020-08-05 11:08:40 -04:00
virtio_ring.h virtio: kerneldocs fixes and enhancements 2022-08-16 01:40:24 -04:00
virtio_rng.h
virtio_scmi.h firmware: arm_scmi: Add virtio transport 2021-08-05 10:24:08 +01:00
virtio_scsi.h virtio_scsi: correct tags for config space fields 2020-08-05 11:08:40 -04:00
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.h vsock: Enable y2038 safe timeval for timeout 2021-10-08 16:21:53 +01:00
vm_sockets_diag.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
watch_queue.h watch_queue: Add a key/keyring notification facility 2020-05-19 15:19:06 +01:00
watchdog.h
wireguard.h wireguard: global: fix spelling mistakes in comments 2019-12-16 19:22:22 -08:00
wireless.h net/wireless: wireless.h: drop duplicate word in comments 2020-07-31 09:24:23 +02:00
wmi.h treewide: add "WITH Linux-syscall-note" to SPDX tag of uapi headers 2019-07-25 11:05:10 +02:00
wwan.h wwan: add interface creation support 2021-06-12 13:16:45 -07:00
x25.h
xattr.h ext4: support xattr gnu.* namespace for the Hurd 2020-06-12 13:23:34 -04:00
xdp_diag.h xsk: Add xdp statistics to xsk_diag 2020-07-13 15:32:56 -07:00
xfrm.h Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec 2022-08-24 12:51:50 +01:00
xilinx-v4l2-controls.h
zorro.h
zorro_ids.h