mirror-linux/include/uapi/linux
Linus Torvalds 9f16d5e6f2 The biggest change here is eliminating the awful idea that KVM had, of
essentially guessing which pfns are refcounted pages.  The reason to
 do so was that KVM needs to map both non-refcounted pages (for example
 BARs of VFIO devices) and VM_PFNMAP/VM_MIXMEDMAP VMAs that contain
 refcounted pages.  However, the result was security issues in the past,
 and more recently the inability to map VM_IO and VM_PFNMAP memory
 that _is_ backed by struct page but is not refcounted.  In particular
 this broke virtio-gpu blob resources (which directly map host graphics
 buffers into the guest as "vram" for the virtio-gpu device) with the
 amdgpu driver, because amdgpu allocates non-compound higher order pages
 and the tail pages could not be mapped into KVM.
 
 This requires adjusting all uses of struct page in the per-architecture
 code, to always work on the pfn whenever possible.  The large series that
 did this, from David Stevens and Sean Christopherson, also cleaned up
 substantially the set of functions that provided arch code with the
 pfn for a host virtual addresses.  The previous maze of twisty little
 passages, all different, is replaced by five functions (__gfn_to_page,
 __kvm_faultin_pfn, the non-__ versions of these two, and kvm_prefetch_pages)
 saving almost 200 lines of code.
 
 ARM:
 
 * Support for stage-1 permission indirection (FEAT_S1PIE) and
   permission overlays (FEAT_S1POE), including nested virt + the
   emulated page table walker
 
 * Introduce PSCI SYSTEM_OFF2 support to KVM + client driver. This call
   was introduced in PSCIv1.3 as a mechanism to request hibernation,
   similar to the S4 state in ACPI
 
 * Explicitly trap + hide FEAT_MPAM (QoS controls) from KVM guests. As
   part of it, introduce trivial initialization of the host's MPAM
   context so KVM can use the corresponding traps
 
 * PMU support under nested virtualization, honoring the guest
   hypervisor's trap configuration and event filtering when running a
   nested guest
 
 * Fixes to vgic ITS serialization where stale device/interrupt table
   entries are not zeroed when the mapping is invalidated by the VM
 
 * Avoid emulated MMIO completion if userspace has requested synchronous
   external abort injection
 
 * Various fixes and cleanups affecting pKVM, vCPU initialization, and
   selftests
 
 LoongArch:
 
 * Add iocsr and mmio bus simulation in kernel.
 
 * Add in-kernel interrupt controller emulation.
 
 * Add support for virtualization extensions to the eiointc irqchip.
 
 PPC:
 
 * Drop lingering and utterly obsolete references to PPC970 KVM, which was
   removed 10 years ago.
 
 * Fix incorrect documentation references to non-existing ioctls
 
 RISC-V:
 
 * Accelerate KVM RISC-V when running as a guest
 
 * Perf support to collect KVM guest statistics from host side
 
 s390:
 
 * New selftests: more ucontrol selftests and CPU model sanity checks
 
 * Support for the gen17 CPU model
 
 * List registers supported by KVM_GET/SET_ONE_REG in the documentation
 
 x86:
 
 * Cleanup KVM's handling of Accessed and Dirty bits to dedup code, improve
   documentation, harden against unexpected changes.  Even if the hardware
   A/D tracking is disabled, it is possible to use the hardware-defined A/D
   bits to track if a PFN is Accessed and/or Dirty, and that removes a lot
   of special cases.
 
 * Elide TLB flushes when aging secondary PTEs, as has been done in x86's
   primary MMU for over 10 years.
 
 * Recover huge pages in-place in the TDP MMU when dirty page logging is
   toggled off, instead of zapping them and waiting until the page is
   re-accessed to create a huge mapping.  This reduces vCPU jitter.
 
 * Batch TLB flushes when dirty page logging is toggled off.  This reduces
   the time it takes to disable dirty logging by ~3x.
 
 * Remove the shrinker that was (poorly) attempting to reclaim shadow page
   tables in low-memory situations.
 
 * Clean up and optimize KVM's handling of writes to MSR_IA32_APICBASE.
 
 * Advertise CPUIDs for new instructions in Clearwater Forest
 
 * Quirk KVM's misguided behavior of initialized certain feature MSRs to
   their maximum supported feature set, which can result in KVM creating
   invalid vCPU state.  E.g. initializing PERF_CAPABILITIES to a non-zero
   value results in the vCPU having invalid state if userspace hides PDCM
   from the guest, which in turn can lead to save/restore failures.
 
 * Fix KVM's handling of non-canonical checks for vCPUs that support LA57
   to better follow the "architecture", in quotes because the actual
   behavior is poorly documented.  E.g. most MSR writes and descriptor
   table loads ignore CR4.LA57 and operate purely on whether the CPU
   supports LA57.
 
 * Bypass the register cache when querying CPL from kvm_sched_out(), as
   filling the cache from IRQ context is generally unsafe; harden the
   cache accessors to try to prevent similar issues from occuring in the
   future.  The issue that triggered this change was already fixed in 6.12,
   but was still kinda latent.
 
 * Advertise AMD_IBPB_RET to userspace, and fix a related bug where KVM
   over-advertises SPEC_CTRL when trying to support cross-vendor VMs.
 
 * Minor cleanups
 
 * Switch hugepage recovery thread to use vhost_task.  These kthreads can
   consume significant amounts of CPU time on behalf of a VM or in response
   to how the VM behaves (for example how it accesses its memory); therefore
   KVM tried to place the thread in the VM's cgroups and charge the CPU
   time consumed by that work to the VM's container.  However the kthreads
   did not process SIGSTOP/SIGCONT, and therefore cgroups which had KVM
   instances inside could not complete freezing.  Fix this by replacing the
   kthread with a PF_USER_WORKER thread, via the vhost_task abstraction.
   Another 100+ lines removed, with generally better behavior too like
   having these threads properly parented in the process tree.
 
 * Revert a workaround for an old CPU erratum (Nehalem/Westmere) that didn't
   really work; there was really nothing to work around anyway: the broken
   patch was meant to fix nested virtualization, but the PERF_GLOBAL_CTRL
   MSR is virtualized and therefore unaffected by the erratum.
 
 * Fix 6.12 regression where CONFIG_KVM will be built as a module even
   if asked to be builtin, as long as neither KVM_INTEL nor KVM_AMD is 'y'.
 
 x86 selftests:
 
 * x86 selftests can now use AVX.
 
 Documentation:
 
 * Use rST internal links
 
 * Reorganize the introduction to the API document
 
 Generic:
 
 * Protect vcpu->pid accesses outside of vcpu->mutex with a rwlock instead
   of RCU, so that running a vCPU on a different task doesn't encounter long
   due to having to wait for all CPUs become quiescent.  In general both reads
   and writes are rare, but userspace that supports confidential computing is
   introducing the use of "helper" vCPUs that may jump from one host processor
   to another.  Those will be very happy to trigger a synchronize_rcu(), and
   the effect on performance is quite the disaster.
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCAAyFiEE8TM4V0tmI4mGbHaCv/vSX3jHroMFAmc9MRYUHHBib256aW5p
 QHJlZGhhdC5jb20ACgkQv/vSX3jHroP00QgArxqxBIGLCW5t7bw7vtNq63QYRyh4
 dTiDguLiYQJ+AXmnRu11R6aPC7HgMAvlFCCmH+GEce4WEgt26hxCmncJr/aJOSwS
 letCS7TrME16PeZvh25A1nhPBUw6mTF1qqzgcdHMrqXG8LuHoGcKYGSRVbkf3kfI
 1ZoMq1r8ChXbVVmCx9DQ3gw1TVr5Dpjs2voLh8rDSE9Xpw0tVVabHu3/NhQEz/F+
 t8/nRaqH777icCHIf9PCk5HnarHxLAOvhM2M0Yj09PuBcE5fFQxpxltw/qiKQqqW
 ep4oquojGl87kZnhlDaac2UNtK90Ws+WxxvCwUmbvGN0ZJVaQwf4FvTwig==
 =lWpE
 -----END PGP SIGNATURE-----

Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm

Pull kvm updates from Paolo Bonzini:
 "The biggest change here is eliminating the awful idea that KVM had of
  essentially guessing which pfns are refcounted pages.

  The reason to do so was that KVM needs to map both non-refcounted
  pages (for example BARs of VFIO devices) and VM_PFNMAP/VM_MIXMEDMAP
  VMAs that contain refcounted pages.

  However, the result was security issues in the past, and more recently
  the inability to map VM_IO and VM_PFNMAP memory that _is_ backed by
  struct page but is not refcounted. In particular this broke virtio-gpu
  blob resources (which directly map host graphics buffers into the
  guest as "vram" for the virtio-gpu device) with the amdgpu driver,
  because amdgpu allocates non-compound higher order pages and the tail
  pages could not be mapped into KVM.

  This requires adjusting all uses of struct page in the
  per-architecture code, to always work on the pfn whenever possible.
  The large series that did this, from David Stevens and Sean
  Christopherson, also cleaned up substantially the set of functions
  that provided arch code with the pfn for a host virtual addresses.

  The previous maze of twisty little passages, all different, is
  replaced by five functions (__gfn_to_page, __kvm_faultin_pfn, the
  non-__ versions of these two, and kvm_prefetch_pages) saving almost
  200 lines of code.

  ARM:

   - Support for stage-1 permission indirection (FEAT_S1PIE) and
     permission overlays (FEAT_S1POE), including nested virt + the
     emulated page table walker

   - Introduce PSCI SYSTEM_OFF2 support to KVM + client driver. This
     call was introduced in PSCIv1.3 as a mechanism to request
     hibernation, similar to the S4 state in ACPI

   - Explicitly trap + hide FEAT_MPAM (QoS controls) from KVM guests. As
     part of it, introduce trivial initialization of the host's MPAM
     context so KVM can use the corresponding traps

   - PMU support under nested virtualization, honoring the guest
     hypervisor's trap configuration and event filtering when running a
     nested guest

   - Fixes to vgic ITS serialization where stale device/interrupt table
     entries are not zeroed when the mapping is invalidated by the VM

   - Avoid emulated MMIO completion if userspace has requested
     synchronous external abort injection

   - Various fixes and cleanups affecting pKVM, vCPU initialization, and
     selftests

  LoongArch:

   - Add iocsr and mmio bus simulation in kernel.

   - Add in-kernel interrupt controller emulation.

   - Add support for virtualization extensions to the eiointc irqchip.

  PPC:

   - Drop lingering and utterly obsolete references to PPC970 KVM, which
     was removed 10 years ago.

   - Fix incorrect documentation references to non-existing ioctls

  RISC-V:

   - Accelerate KVM RISC-V when running as a guest

   - Perf support to collect KVM guest statistics from host side

  s390:

   - New selftests: more ucontrol selftests and CPU model sanity checks

   - Support for the gen17 CPU model

   - List registers supported by KVM_GET/SET_ONE_REG in the
     documentation

  x86:

   - Cleanup KVM's handling of Accessed and Dirty bits to dedup code,
     improve documentation, harden against unexpected changes.

     Even if the hardware A/D tracking is disabled, it is possible to
     use the hardware-defined A/D bits to track if a PFN is Accessed
     and/or Dirty, and that removes a lot of special cases.

   - Elide TLB flushes when aging secondary PTEs, as has been done in
     x86's primary MMU for over 10 years.

   - Recover huge pages in-place in the TDP MMU when dirty page logging
     is toggled off, instead of zapping them and waiting until the page
     is re-accessed to create a huge mapping. This reduces vCPU jitter.

   - Batch TLB flushes when dirty page logging is toggled off. This
     reduces the time it takes to disable dirty logging by ~3x.

   - Remove the shrinker that was (poorly) attempting to reclaim shadow
     page tables in low-memory situations.

   - Clean up and optimize KVM's handling of writes to
     MSR_IA32_APICBASE.

   - Advertise CPUIDs for new instructions in Clearwater Forest

   - Quirk KVM's misguided behavior of initialized certain feature MSRs
     to their maximum supported feature set, which can result in KVM
     creating invalid vCPU state. E.g. initializing PERF_CAPABILITIES to
     a non-zero value results in the vCPU having invalid state if
     userspace hides PDCM from the guest, which in turn can lead to
     save/restore failures.

   - Fix KVM's handling of non-canonical checks for vCPUs that support
     LA57 to better follow the "architecture", in quotes because the
     actual behavior is poorly documented. E.g. most MSR writes and
     descriptor table loads ignore CR4.LA57 and operate purely on
     whether the CPU supports LA57.

   - Bypass the register cache when querying CPL from kvm_sched_out(),
     as filling the cache from IRQ context is generally unsafe; harden
     the cache accessors to try to prevent similar issues from occuring
     in the future. The issue that triggered this change was already
     fixed in 6.12, but was still kinda latent.

   - Advertise AMD_IBPB_RET to userspace, and fix a related bug where
     KVM over-advertises SPEC_CTRL when trying to support cross-vendor
     VMs.

   - Minor cleanups

   - Switch hugepage recovery thread to use vhost_task.

     These kthreads can consume significant amounts of CPU time on
     behalf of a VM or in response to how the VM behaves (for example
     how it accesses its memory); therefore KVM tried to place the
     thread in the VM's cgroups and charge the CPU time consumed by that
     work to the VM's container.

     However the kthreads did not process SIGSTOP/SIGCONT, and therefore
     cgroups which had KVM instances inside could not complete freezing.

     Fix this by replacing the kthread with a PF_USER_WORKER thread, via
     the vhost_task abstraction. Another 100+ lines removed, with
     generally better behavior too like having these threads properly
     parented in the process tree.

   - Revert a workaround for an old CPU erratum (Nehalem/Westmere) that
     didn't really work; there was really nothing to work around anyway:
     the broken patch was meant to fix nested virtualization, but the
     PERF_GLOBAL_CTRL MSR is virtualized and therefore unaffected by the
     erratum.

   - Fix 6.12 regression where CONFIG_KVM will be built as a module even
     if asked to be builtin, as long as neither KVM_INTEL nor KVM_AMD is
     'y'.

  x86 selftests:

   - x86 selftests can now use AVX.

  Documentation:

   - Use rST internal links

   - Reorganize the introduction to the API document

  Generic:

   - Protect vcpu->pid accesses outside of vcpu->mutex with a rwlock
     instead of RCU, so that running a vCPU on a different task doesn't
     encounter long due to having to wait for all CPUs become quiescent.

     In general both reads and writes are rare, but userspace that
     supports confidential computing is introducing the use of "helper"
     vCPUs that may jump from one host processor to another. Those will
     be very happy to trigger a synchronize_rcu(), and the effect on
     performance is quite the disaster"

* tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (298 commits)
  KVM: x86: Break CONFIG_KVM_X86's direct dependency on KVM_INTEL || KVM_AMD
  KVM: x86: add back X86_LOCAL_APIC dependency
  Revert "KVM: VMX: Move LOAD_IA32_PERF_GLOBAL_CTRL errata handling out of setup_vmcs_config()"
  KVM: x86: switch hugepage recovery thread to vhost_task
  KVM: x86: expose MSR_PLATFORM_INFO as a feature MSR
  x86: KVM: Advertise CPUIDs for new instructions in Clearwater Forest
  Documentation: KVM: fix malformed table
  irqchip/loongson-eiointc: Add virt extension support
  LoongArch: KVM: Add irqfd support
  LoongArch: KVM: Add PCHPIC user mode read and write functions
  LoongArch: KVM: Add PCHPIC read and write functions
  LoongArch: KVM: Add PCHPIC device support
  LoongArch: KVM: Add EIOINTC user mode read and write functions
  LoongArch: KVM: Add EIOINTC read and write functions
  LoongArch: KVM: Add EIOINTC device support
  LoongArch: KVM: Add IPI user mode read and write function
  LoongArch: KVM: Add IPI read and write function
  LoongArch: KVM: Add IPI device support
  LoongArch: KVM: Add iocsr and mmio bus simulation in kernel
  KVM: arm64: Pass on SVE mapping failures
  ...
2024-11-23 16:00:50 -08:00
..
android binder: frozen notification 2024-07-31 13:56:00 +02:00
byteorder
caif
can can: isotp: remove ISO 15675-2 specification version where possible 2024-06-20 11:52:56 +02:00
cifs
dvb media: dvb: Fix dtvs_stats packing. 2024-04-15 13:42:38 +02:00
genwqe
hdlc
hsi
iio iio: core: Add new DMABUF interface infrastructure 2024-06-30 11:29:17 +01:00
isdn
media/raspberrypi media: raspberrypi: Add support for RP1-CFE 2024-10-16 09:32:40 +02:00
misc
mmc
netfilter netfilter: bitwise: add support for doing AND, OR and XOR directly 2024-11-15 12:07:04 +01:00
netfilter_arp
netfilter_bridge netfilter: ebtables: replace zero-length array members 2023-08-22 15:13:20 +02:00
netfilter_ipv4
netfilter_ipv6
nfsd
raid md: Remove deprecated CONFIG_MD_FAULTY 2023-12-19 10:37:50 -08:00
sched sched/deadline: Clarify nanoseconds in uapi 2024-09-11 11:23:56 +02:00
spi spi: Enable controllers to extend the SPI protocol with MOSI idle configuration 2024-07-29 01:19:51 +01:00
sunrpc
surface_aggregator
tc_act net: sched: Annotate struct tc_pedit with __counted_by 2024-02-19 10:58:24 +00:00
tc_ematch
usb USB: gadget: f_hid: Add GET_REPORT via userspace IOCTL 2024-08-22 17:25:59 +08:00
a.out.h
acct.h
acrn.h
adb.h
adfs_fs.h
affs_hardblocks.h
agpgart.h
aio_abi.h
am437x-vpfe.h
amt.h
apm_bios.h
arcfb.h
arm_sdei.h
aspeed-lpc-ctrl.h
aspeed-p2a-ctrl.h
aspeed-video.h
atalk.h
atm.h
atm_eni.h
atm_he.h
atm_idt77105.h
atm_nicstar.h
atm_tcp.h
atm_zatm.h
atmapi.h
atmarp.h
atmbr2684.h
atmclip.h
atmdev.h
atmioc.h
atmlec.h
atmmpc.h
atmppp.h
atmsap.h
atmsvc.h
audit.h audit,ipe: add IPE auditing support 2024-08-20 14:02:22 -04:00
auto_dev-ioctl.h
auto_fs.h autofs: add per dentry expire timeout 2024-08-30 08:22:36 +02:00
auto_fs4.h
auxvec.h uapi/auxvec: Define AT_HWCAP3 and AT_HWCAP4 aux vector, entries 2024-02-16 12:42:59 +11:00
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
baycom.h
bcm933xx_hcs.h
bfs_fs.h
binfmts.h
bits.h uapi: Define GENMASK_U128 2024-08-28 06:53:58 -07:00
blkdev.h block: implement async io_uring discard cmd 2024-09-11 10:45:28 -06:00
blkpg.h
blktrace_api.h
blkzoned.h
bpf.h bpf: Add support for uprobe multi session attach 2024-11-11 08:18:03 -08:00
bpf_common.h
bpf_perf_event.h
bpqether.h
bsg.h
bt-bmc.h
btf.h
btrfs.h btrfs: add new ioctl to wait for cleaned subvolumes 2024-11-11 14:34:22 +01:00
btrfs_tree.h btrfs: remove raid-stripe-tree encoding field from stripe_extent 2024-07-11 15:33:28 +02:00
cachefiles.h
can.h can: canxl: add virtual CAN network identifier support 2024-02-13 11:47:13 +01:00
capability.h
capi.h
cciss_defs.h
cciss_ioctl.h
ccs.h
cdrom.h
cec-funcs.h
cec.h media: uapi/linux/cec.h: cec_msg_set_reply_to: zero flags 2024-08-08 15:23:21 +02:00
cfm_bridge.h
cgroupstats.h
chio.h
close_range.h
cn_proc.h connector: Fix invalid conversion in cn_proc.h 2024-05-24 10:36:55 +01:00
coda.h
coff.h
comedi.h
connector.h
const.h uapi: Define GENMASK_U128 2024-08-28 06:53:58 -07:00
coresight-stm.h
counter.h counter: chrdev: remove a typo in header file comment 2023-10-16 11:38:56 -04: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 cxl/mbox: Add Clear Log mailbox command 2024-04-30 08:48:10 -07:00
cyclades.h
cycx_cfm.h
dcbnl.h
dccp.h
devlink.h devlink: Support setting max_io_eqs 2024-04-08 14:10:45 +01:00
dlm.h dlm: introduce DLM_LSFL_SOFTIRQ_SAFE 2024-06-11 12:57:49 -05:00
dlm_device.h
dlm_plock.h
dlmconstants.h
dm-ioctl.h
dm-log-userspace.h
dma-buf.h
dma-heap.h dma-buf: align fd_flags and heap_flags with dma_heap_allocation_data 2024-06-05 14:52:15 +05:30
dns_resolver.h
dpll.h tools: ynl-gen: de-kdocify enums with no doc for entries 2024-11-04 18:11:47 -08:00
dqblk_xfs.h
dw100.h
edd.h
efs_fs_sb.h
elf-em.h
elf-fdpic.h binfmt_elf_fdpic: support 64-bit systems 2023-08-23 14:17:42 -07:00
elf.h arm64/ptrace: Expose GCS via ptrace and core files 2024-10-04 12:04:41 +01:00
errno.h
errqueue.h
erspan.h
ethtool.h UAPI: ethtool: Avoid flex-array in struct ethtool_link_settings 2024-11-18 18:52:11 -08:00
ethtool_netlink.h ethtool: Extend cable testing interface with result source information 2024-08-26 09:33:58 -07:00
eventfd.h
eventpoll.h eventpoll: Add epoll ioctl for epoll_params 2024-02-14 11:01:01 +00:00
exfat.h exfat: Implement sops->shutdown and ioctl 2024-09-18 07:40:56 +09:00
ext4.h
f2fs.h
fadvise.h
falloc.h fs: sort out the fallocate mode vs flag mess 2024-08-28 16:53:57 +02:00
fanotify.h fanotify: allow reporting errors on failure to open fd 2024-10-16 17:43:05 +02:00
fb.h tty: vt: define a common enum for VESA blanking constants 2024-01-27 18:08:54 -08:00
fcntl.h fs: Simplify getattr interface function checking AT_GETATTR_NOSEC flag 2024-11-13 11:46:29 -05:00
fd.h
fdreg.h
fib_rules.h net: fib_rules: Add DSCP selector attribute 2024-09-13 21:15:44 -07:00
fiemap.h
filter.h
firewire-cdev.h
firewire-constants.h
fou.h
fpga-dfl.h
fs.h - 875fa64577da ("mm/hugetlb_vmemmap: fix race with speculative PFN 2024-07-21 17:15:46 -07:00
fscrypt.h fscrypt: support crypto data unit size less than filesystem block size 2023-09-25 22:34:33 -07:00
fsi.h fsi: sbefifo: Add configurable in-command timeout 2023-08-09 15:43:27 +09:30
fsl_hypervisor.h
fsl_mc.h
fsmap.h
fsverity.h
fuse.h fuse: allow idmapped mounts 2024-09-04 16:51:11 +02:00
futex.h futex: Extend the FUTEX2 flags 2023-09-21 19:22:05 +02:00
gameport.h
gen_stats.h
genetlink.h
gfs2_ondisk.h
gpio.h gpio: uapi: clarify default_values being logical 2024-02-15 08:44:57 +01:00
gsmmux.h tty: n_gsm: add copyright Siemens Mobility GmbH 2023-10-27 09:21:13 +02:00
gtp.h gtp: add IPv6 support 2024-05-07 01:35:57 +02:00
handshake.h
hash_info.h crypto: FIPS 202 SHA-3 register in hash info for IMA 2023-10-27 18:04:30 +08:00
hdlc.h
hdlcdrv.h
hdreg.h
hid.h
hiddev.h
hidraw.h HID: hidraw: add HIDIOCREVOKE ioctl 2024-08-29 10:39:37 +02:00
hpet.h
hsr_netlink.h
hw_breakpoint.h
hyperv.h
i2c-dev.h
i2c.h
i2o-dev.h
i8k.h
icmp.h
icmpv6.h netfilter: conntrack: fix ct-state for ICMPv6 Multicast Router Discovery 2024-05-06 11:13:56 +02:00
idxd.h dmaengine: idxd: add wq driver name support for accel-config user tool 2023-10-04 13:00:34 +05:30
if.h
if_addr.h
if_addrlabel.h
if_alg.h
if_arcnet.h
if_arp.h
if_bonding.h
if_bridge.h bridge: add MDB state mask uAPI attribute 2023-12-20 11:27:20 +00:00
if_cablemodem.h
if_eql.h
if_ether.h
if_fc.h
if_fddi.h
if_hippi.h
if_infiniband.h
if_link.h net: mctp: Expose transport binding identifier via IFLA attribute 2024-11-09 09:04:54 -08:00
if_ltalk.h
if_macsec.h
if_packet.h packet: Correct spelling in if_packet.h 2024-08-26 09:37:22 -07:00
if_phonet.h
if_plip.h
if_ppp.h
if_pppol2tp.h
if_pppox.h
if_slip.h
if_team.h uapi: team: use header file generated from YAML spec 2024-04-02 18:24:33 -07:00
if_tun.h
if_tunnel.h pfcp: always set pfcp metadata 2024-04-01 10:49:28 +01:00
if_vlan.h
if_x25.h
if_xdp.h xsk: Require XDP_UMEM_TX_METADATA_LEN to actuate tx_metadata_len 2024-07-25 11:57:27 +02:00
ife.h
igmp.h
ila.h
in.h net: Correct spelling in headers 2024-08-26 09:37:23 -07:00
in6.h uapi: in6: replace temporary label with rfc9486 2024-02-27 18:22:49 -08:00
in_route.h ipv4: Fix user space build failure due to header change 2024-09-04 16:40:33 -07:00
inet_diag.h net: Correct spelling in headers 2024-08-26 09:37:23 -07:00
inotify.h inotify: Fix misspelling of "writable" 2024-03-06 13:13:00 +01:00
input-event-codes.h input: Add support for "Do Not Disturb" 2024-06-07 11:08:07 +02:00
input.h
io_uring.h io_uring: restore back registered wait arguments 2024-11-15 12:28:38 -07:00
ioam6.h
ioam6_genl.h uapi: ioam6: API for netlink multicast events 2024-02-28 11:19:41 +00:00
ioam6_iptunnel.h net: ipv6: ioam6: new feature tunsrc 2024-08-22 10:45:12 +02:00
ioctl.h
iommufd.h IOMMU Updates for Linux v6.13: 2024-11-22 19:55:10 -08:00
ioprio.h block: uapi: Fix compilation errors using ioprio.h with C++ 2023-08-15 10:06:49 -06:00
ip.h
ip6_tunnel.h
ip_vs.h
ipc.h
ipmi.h
ipmi_bmc.h
ipmi_msgdefs.h
ipmi_ssif_bmc.h
ipsec.h
ipv6.h net: change accept_ra_min_rtr_lft to affect all RA lifetimes 2023-07-28 13:30:51 -07:00
ipv6_route.h
irqnr.h
iso_fs.h
isst_if.h
ivtv.h
ivtvfb.h
jffs2.h
joystick.h
kcm.h
kcmp.h
kcov.h
kd.h Revert "VT: Use macros to define ioctls" 2024-06-01 07:28:21 +02:00
kdev_t.h
kernel-page-flags.h mm: remove PG_error 2024-09-01 20:26:05 -07:00
kernel.h
kernelcapi.h
kexec.h crash: add a new kexec flag for hotplug support 2024-04-23 14:59:01 +10:00
keyboard.h
keyctl.h
kfd_ioctl.h Revert "drm/amdkfd: SMI report dropped event count" 2024-10-22 17:51:20 -04:00
kfd_sysfs.h drm/amdkfd: flag per-queue reset support for gfx9 2024-10-28 16:41:33 -04:00
kvm.h LoongArch: KVM: Add PCHPIC device support 2024-11-13 16:18:27 +08:00
kvm_para.h
l2tp.h
landlock.h landlock: Add signal scoping 2024-09-16 23:50:52 +02:00
libc-compat.h uapi: libc-compat: remove ipx leftovers 2024-09-12 20:28:46 -07:00
limits.h
lirc.h
llc.h
loadpin.h
loop.h
lp.h
lsm.h lsm: add IPE lsm 2024-08-19 22:36:26 -04:00
lwtunnel.h
magic.h bcachefs: Move BCACHEFS_STATFS_MAGIC value to UAPI magic.h 2024-05-08 17:29:24 -04:00
major.h
map_to_7segment.h
map_to_14segment.h
matroxfb.h
max2175.h
mctp.h net: mctp: provide a more specific tag allocation ioctl 2024-02-22 13:32:55 +01:00
mdio.h net: ethernet: oa_tc6: implement internal PHY initialization 2024-09-11 20:53:43 -07: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: fix spellos in mei.h 2023-12-15 17:01:30 +01:00
mei_uuid.h
membarrier.h
memfd.h
mempolicy.h mm/mempolicy: introduce MPOL_WEIGHTED_INTERLEAVE for weighted interleaving 2024-02-22 10:24:46 -08:00
mii.h
minix_fs.h
mman.h mm: add MAP_DROPPABLE for designating always lazily freeable mappings 2024-07-19 20:22:12 +02:00
mmtimer.h
module.h
mount.h statmount: retrieve security mount options 2024-11-14 17:03:25 +01:00
mpls.h
mpls_iptunnel.h
mptcp.h mptcp: add last time fields in mptcp_info 2024-04-11 08:19:54 -07:00
mptcp_pm.h netlink: specs: mptcp: rename the MPTCP path management spec 2023-12-15 12:17:16 +00:00
mqueue.h
mroute.h
mroute6.h
mrp_bridge.h
msdos_fs.h
msg.h
mtio.h
nbd-netlink.h
nbd.h nbd: implement the WRITE_ZEROES command 2024-09-06 08:31:40 -06:00
ncsi.h
ndctl.h
neighbour.h
net.h
net_dropmon.h
net_namespace.h
net_shaper.h netlink: spec: add shaper introspection support 2024-10-10 08:30:22 -07:00
net_tstamp.h net-timestamp: introduce SOF_TIMESTAMPING_OPT_RX_FILTER flag 2024-09-10 16:55:23 -07:00
netconf.h
netdev.h net: Add napi_struct parameter irq_suspend_timeout 2024-11-11 18:45:05 -08:00
netdevice.h
netfilter.h
netfilter_arp.h
netfilter_bridge.h
netfilter_ipv4.h
netfilter_ipv6.h
netlink.h netlink: add variable-length / auto integers 2023-10-20 11:43:35 +01:00
netlink_diag.h
netrom.h
nexthop.h net: nexthop: Increase weight to u16 2024-08-12 17:50:34 -07:00
nfc.h net: nfc: Propagate ISO14443 type A target ATS to userspace via netlink 2024-11-07 10:21:58 +01:00
nfs.h NFS/knfsd: Remove the invalid NFS error 'NFSERR_OPNOTSUPP' 2024-05-06 12:47:24 -04:00
nfs2.h
nfs3.h
nfs4.h NFSv4: Detect support for OPEN4_SHARE_ACCESS_WANT_OPEN_XOR_DELEGATION 2024-07-08 13:47:25 -04:00
nfs4_mount.h
nfs_fs.h
nfs_idmap.h
nfs_mount.h
nfsacl.h
nfsd_netlink.h nfsd: new netlink ops to get/set server pool_mode 2024-07-08 14:10:05 -04:00
nilfs2_api.h
nilfs2_ondisk.h
nitro_enclaves.h
nl80211-vnd-intel.h
nl80211.h wifi: cfg80211: add monitor SKIP_TX flag 2024-10-23 16:46:06 +02:00
npcm-video.h media: uapi: Add controls for NPCM video driver 2023-09-27 09:40:02 +02:00
nsfs.h vfs-6.12.mount 2024-09-16 11:15:26 +02:00
nsm.h misc: Add Nitro Secure Module driver 2023-11-28 19:05:16 +00:00
ntsync.h ntsync: Introduce NTSYNC_IOC_SEM_POST. 2024-04-11 15:34:40 +02:00
nubus.h
nvme_ioctl.h
nvram.h
omap3isp.h
omapfb.h
oom.h
openat2.h
openvswitch.h net: openvswitch: store sampling probability in cb. 2024-07-05 17:45:47 -07:00
packet_diag.h
papr_pdsm.h powerpc/papr_scm: Move duplicate definitions to common header files 2024-04-25 12:37:12 -07:00
param.h
parport.h
patchkey.h
pci.h
pci_regs.h Merge branch 'pci/npem' 2024-09-19 14:25:26 -05:00
pcitest.h misc: pci_endpoint_test: Use INTX instead of LEGACY 2023-12-18 11:55:56 +01:00
perf_event.h perf/core: Add aux_pause, aux_resume, aux_start_paused 2024-11-05 12:55:43 +01:00
personality.h
pfkeyv2.h
pfrut.h
pg.h
phantom.h
phonet.h
pidfd.h pidfd: add ioctl to retrieve pid info 2024-10-24 13:54:51 +02:00
pkt_cls.h UAPI: net/sched: Use __struct_group() in flex struct tc_u32_sel 2024-08-14 20:37:47 -07:00
pkt_sched.h net_sched: sch_fq: add the ability to offload pacing 2024-10-04 15:37:54 -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
pr.h
prctl.h prctl: arch-agnostic prctl for shadow stack 2024-10-04 12:04:33 +01:00
psample.h net: psample: allow using rate as probability 2024-07-05 17:45:47 -07:00
psci.h firmware/psci: Add definitions for PSCI v1.3 specification 2024-10-24 16:30:33 -07:00
psp-dbc.h
psp-sev.h KVM: SEV: uapi: fix typo in SEV_RET_INVALID_CONFIG 2024-08-14 13:05:42 -04:00
ptp_clock.h ptp/ioctl: support MONOTONIC{,_RAW} timestamps for PTP_SYS_OFFSET_EXTENDED 2024-09-08 18:40:33 +01:00
ptrace.h
qemu_fw_cfg.h
qnx4_fs.h
qnxtypes.h
qrtr.h
quota.h shmem: prepare shmem quota infrastructure 2023-08-09 09:15:39 +02:00
radeonfb.h
random.h random: note that RNDGETPOOL was removed in 2.6.9-rc2 2024-07-19 20:22:48 +02:00
rds.h
reboot.h
remoteproc_cdev.h
resource.h uapi/linux/resource.h: fix include 2023-12-20 19:26:31 -05:00
rfkill.h
rio_cm_cdev.h
rio_mport_cdev.h
rkisp1-config.h media: rkisp1: Add support for the companding block 2024-08-14 16:42:58 +03:00
romfs_fs.h
rose.h
route.h
rpl.h
rpl_iptunnel.h
rpmsg.h
rpmsg_types.h
rseq.h
rtc.h
rtnetlink.h netlink: typographical error in nlmsg_type constants definition 2024-11-05 17:33:55 -08:00
rxrpc.h
scc.h
sched.h sched_ext: Implement BPF extensible scheduler class 2024-06-18 10:09:17 -10:00
scif_ioctl.h
screen_info.h
sctp.h
seccomp.h
securebits.h
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 tty: serial: Fix bit order in RS485 flag definitions 2024-01-27 18:15:24 -08:00
serial_core.h serial: add PORT_GENERIC definition 2023-10-10 08:51:10 +02:00
serial_reg.h serial: 8250_port: Introduce UART_IIR_FIFO_ENABLED_16750 2023-09-18 11:14:42 +02:00
serio.h media: input: serio.h: add SERIO_EXTRON_DA_HD_PLUS 2024-09-05 20:11:43 +02:00
sev-guest.h KVM: SEV: Provide support for SNP_GUEST_REQUEST NAE event 2024-07-16 11:44:00 -04:00
shm.h
signal.h
signalfd.h
smc.h net/smc: introduce statistics for ringbufs usage of net namespace 2024-08-20 11:38:23 +02:00
smc_diag.h net/smc: support extended GID in SMC-D lgr netlink attribute 2023-12-26 20:24:33 +00:00
smiapp.h
snmp.h xfrm: Add dir validation to "in" data path lookup 2024-05-01 10:06:27 +02:00
sock_diag.h
socket.h
sockios.h
sonet.h
sonypi.h
sound.h
soundcard.h
stat.h fs: Add initial atomic write support info to statx 2024-06-20 15:19:17 -06:00
stddef.h uapi: stddef.h: Provide UAPI macros for __counted_by_{le, be} 2024-05-08 00:42:25 -07:00
stm.h
string.h
suspend_ioctls.h
swab.h
switchtec_ioctl.h
sync_file.h dma-buf/sync_file: Add SET_DEADLINE ioctl 2023-12-02 01:17:48 +02:00
synclink.h
sysctl.h
sysinfo.h
target_core_user.h
taskstats.h
tcp.h tcp: socket option to check for MPTCP fallback to TCP 2024-05-13 14:48:04 -07:00
tcp_metrics.h tcp_metrics: add netlink protocol spec in YAML 2024-07-01 09:44:27 +01:00
tdx-guest.h
tee.h tee: tstee: Add Trusted Services TEE driver 2024-04-03 14:03:09 +02:00
termios.h
thermal.h thermal: netlink: Add the commands and the events for the thresholds 2024-10-24 14:54:01 +02:00
thp7312.h media: uapi: Add controls for the THP7312 ISP 2023-12-04 10:37:46 +01:00
time.h
time_types.h
timerfd.h
times.h
timex.h
tiocl.h
tipc.h
tipc_config.h
tipc_netlink.h
tipc_sockets_diag.h
tls.h
toshiba.h
tps6594_pfsm.h
trace_mmap.h tracing: Have memmapped ring buffer use ioctl of "R" range 0x20-2F 2024-07-03 16:40:45 -04:00
tty.h
tty_flags.h
types.h
ublk_cmd.h ublk: support device recovery without I/O queueing 2024-10-22 08:16:37 -06:00
udf_fs_i.h
udmabuf.h
udp.h Fix misspelling of "accept*" in net 2024-10-09 19:55:40 -07:00
uhid.h
uinput.h
uio.h net: add SO_DEVMEM_DONTNEED setsockopt to release RX frags 2024-09-11 20:44:32 -07:00
uleds.h
ultrasound.h
um_timetravel.h um: add shared memory optimisation for time-travel=ext 2024-07-03 12:24:54 +02:00
un.h
unistd.h
unix_diag.h
usbdevice_fs.h
usbip.h
user_events.h tracing/user_events: Introduce multi-format events 2024-03-18 10:13:03 -04:00
userfaultfd.h userfaultfd: UFFDIO_MOVE uABI 2023-12-29 11:58:24 -08:00
userio.h
utime.h
utsname.h
uuid.h
uvcvideo.h
v4l2-common.h
v4l2-controls.h media: v4l2-ctrls: Add average QP control 2024-06-10 10:24:30 +02:00
v4l2-dv-timings.h media: replace obsolete hans.verkuil@cisco.com alias 2024-11-08 13:38:09 +01:00
v4l2-mediabus.h media: uapi: Document which mbus format fields are valid for metadata 2024-04-29 14:56:36 +02:00
v4l2-subdev.h media: v4l: subdev: Add len_routes field to struct v4l2_subdev_routing 2024-04-29 14:56:37 +02:00
vbox_err.h
vbox_vmmdev_types.h virt: vbox: struct vmmdev_hgcm_pagelist: Replace 1-element array with flexible array 2024-08-22 16:56:24 -07:00
vboxguest.h
vdpa.h vdpa: support set mac address from vdpa tool 2024-09-10 02:51:48 -04:00
vduse.h
vesa.h tty: vt: define a common enum for VESA blanking constants 2024-01-27 18:08:54 -08:00
veth.h
vfio.h vfio: Remove VFIO_TYPE1_NESTING_IOMMU 2024-11-05 10:24:16 +00:00
vfio_ccw.h
vfio_zdev.h
vhost.h vhost-vdpa: change ioctl # for VDPA_GET_VRING_SIZE 2024-04-08 04:11:04 -04:00
vhost_types.h vhost-vdpa: introduce IOTLB_PERSIST backend feature bit 2023-11-01 09:20:00 -04:00
videodev2.h media: uapi: Add meta formats for PiSP FE config and stats 2024-10-16 09:32:39 +02:00
virtio_9p.h
virtio_balloon.h virtio_balloon: introduce memory scan/reclaim info 2024-09-10 02:51:48 -04:00
virtio_blk.h
virtio_bt.h Bluetooth: HCI: Remove HCI_AMP support 2024-05-14 10:54:49 -04:00
virtio_config.h virtio: Define feature bit for administration virtqueue 2023-12-19 11:51:31 -07:00
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 DRM capset definition 2024-07-24 20:49:42 +03:00
virtio_i2c.h
virtio_ids.h
virtio_input.h
virtio_iommu.h
virtio_mem.h virtio-mem: support suspend+resume 2024-05-22 08:31:15 -04:00
virtio_mmio.h
virtio_net.h virtio_net: introduce device stats feature and structures 2024-04-30 10:51:32 +02:00
virtio_pci.h virtio: uapi: Drop __packed attribute in linux/virtio_pci.h 2024-03-19 02:45:49 -04:00
virtio_pcidev.h
virtio_pmem.h virtio_pmem: support feature SHMEM_REGION 2024-01-10 13:01:37 -05:00
virtio_ring.h
virtio_rng.h
virtio_scmi.h
virtio_scsi.h
virtio_snd.h ALSA: virtio: add support for audio controls 2024-02-09 14:01:15 +01:00
virtio_types.h
virtio_vsock.h
vm_sockets.h vsock: read from socket's error queue 2023-10-15 13:19:42 +01: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
vtpm_proxy.h
wait.h
watch_queue.h
watchdog.h
wireguard.h
wireless.h
wmi.h
wwan.h
x25.h
xattr.h fs/xattr: add *at family syscalls 2024-11-06 12:59:44 -05:00
xdp_diag.h
xfrm.h xfrm: Add support for per cpu xfrm state handling. 2024-10-29 11:56:00 +01:00
xilinx-v4l2-controls.h
zorro.h
zorro_ids.h m68k: amiga: Turn off Warp1260 interrupts during boot 2024-06-04 08:59:58 +02:00