d95c3886 parents 0bcfa62 5cd3f2e 8dd8f00 9378bfe ceedd5f 29fcea89583 files · +20879 −63346Browse filesShowing the changes to include/uapi (8 of 9583 files). Show all
Unified · Split
| @@ -192,6 +192,8 @@ enum bpf_attach_type { · 191 unmodified lines | ||
| 192 | 192 | BPF_LIRC_MODE2, |
| 193 | 193 | BPF_FLOW_DISSECTOR, |
| 194 | 194 | BPF_CGROUP_SYSCTL, |
| 195 | + BPF_CGROUP_UDP4_RECVMSG, | |
| 196 | + BPF_CGROUP_UDP6_RECVMSG, | |
| 195 | 197 | __MAX_BPF_ATTACH_TYPE |
| 196 | 198 | }; |
| 197 | 199 | |
| @@ -3376,8 +3378,8 @@ struct bpf_raw_tracepoint_args { · 3178 unmodified lines | ||
| 3376 | 3378 | /* DIRECT: Skip the FIB rules and go to FIB table associated with device |
| 3377 | 3379 | * OUTPUT: Do lookup from egress perspective; default is ingress |
| 3378 | 3380 | */ |
| 3379 | −#define BPF_FIB_LOOKUP_DIRECT BIT(0) | |
| 3380 | −#define BPF_FIB_LOOKUP_OUTPUT BIT(1) | |
| 3381 | +#define BPF_FIB_LOOKUP_DIRECT (1U << 0) | |
| 3382 | +#define BPF_FIB_LOOKUP_OUTPUT (1U << 1) | |
| 3381 | 3383 | |
| 3382 | 3384 | enum { |
| 3383 | 3385 | BPF_FIB_LKUP_RET_SUCCESS, /* lookup successful */ |
| @@ -130,6 +130,9 @@ · 129 unmodified lines | ||
| 130 | 130 | * 7.30 |
| 131 | 131 | * - add FUSE_EXPLICIT_INVAL_DATA |
| 132 | 132 | * - add FUSE_IOCTL_COMPAT_X32 |
| 133 | + * | |
| 134 | + * 7.31 | |
| 135 | + * - add FUSE_WRITE_KILL_PRIV flag | |
| 133 | 136 | */ |
| 134 | 137 | |
| 135 | 138 | #ifndef _LINUX_FUSE_H |
| @@ -165,7 +168,7 @@ · 29 unmodified lines | ||
| 165 | 168 | #define FUSE_KERNEL_VERSION 7 |
| 166 | 169 | |
| 167 | 170 | /** Minor version number of this interface */ |
| 168 | −#define FUSE_KERNEL_MINOR_VERSION 30 | |
| 171 | +#define FUSE_KERNEL_MINOR_VERSION 31 | |
| 169 | 172 | |
| 170 | 173 | /** The node ID of the root inode */ |
| 171 | 174 | #define FUSE_ROOT_ID 1 |
| @@ -327,9 +330,11 @@ struct fuse_file_lock { · 155 unmodified lines | ||
| 327 | 330 | * |
| 328 | 331 | * FUSE_WRITE_CACHE: delayed write from page cache, file handle is guessed |
| 329 | 332 | * FUSE_WRITE_LOCKOWNER: lock_owner field is valid |
| 333 | + * FUSE_WRITE_KILL_PRIV: kill suid and sgid bits | |
| 330 | 334 | */ |
| 331 | 335 | #define FUSE_WRITE_CACHE (1 << 0) |
| 332 | 336 | #define FUSE_WRITE_LOCKOWNER (1 << 1) |
| 337 | +#define FUSE_WRITE_KILL_PRIV (1 << 2) | |
| 333 | 338 | |
| 334 | 339 | /** |
| 335 | 340 | * Read flags |
| @@ -0,0 +1,155 @@ | ||
| 1 | +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ | |
| 2 | +/* | |
| 3 | + * IOMMU user API definitions | |
| 4 | + */ | |
| 5 | + | |
| 6 | +#ifndef _UAPI_IOMMU_H | |
| 7 | +#define _UAPI_IOMMU_H | |
| 8 | + | |
| 9 | +#include <linux/types.h> | |
| 10 | + | |
| 11 | +#define IOMMU_FAULT_PERM_READ (1 << 0) /* read */ | |
| 12 | +#define IOMMU_FAULT_PERM_WRITE (1 << 1) /* write */ | |
| 13 | +#define IOMMU_FAULT_PERM_EXEC (1 << 2) /* exec */ | |
| 14 | +#define IOMMU_FAULT_PERM_PRIV (1 << 3) /* privileged */ | |
| 15 | + | |
| 16 | +/* Generic fault types, can be expanded IRQ remapping fault */ | |
| 17 | +enum iommu_fault_type { | |
| 18 | + IOMMU_FAULT_DMA_UNRECOV = 1, /* unrecoverable fault */ | |
| 19 | + IOMMU_FAULT_PAGE_REQ, /* page request fault */ | |
| 20 | +}; | |
| 21 | + | |
| 22 | +enum iommu_fault_reason { | |
| 23 | + IOMMU_FAULT_REASON_UNKNOWN = 0, | |
| 24 | + | |
| 25 | + /* Could not access the PASID table (fetch caused external abort) */ | |
| 26 | + IOMMU_FAULT_REASON_PASID_FETCH, | |
| 27 | + | |
| 28 | + /* PASID entry is invalid or has configuration errors */ | |
| 29 | + IOMMU_FAULT_REASON_BAD_PASID_ENTRY, | |
| 30 | + | |
| 31 | + /* | |
| 32 | + * PASID is out of range (e.g. exceeds the maximum PASID | |
| 33 | + * supported by the IOMMU) or disabled. | |
| 34 | + */ | |
| 35 | + IOMMU_FAULT_REASON_PASID_INVALID, | |
| 36 | + | |
| 37 | + /* | |
| 38 | + * An external abort occurred fetching (or updating) a translation | |
| 39 | + * table descriptor | |
| 40 | + */ | |
| 41 | + IOMMU_FAULT_REASON_WALK_EABT, | |
| 42 | + | |
| 43 | + /* | |
| 44 | + * Could not access the page table entry (Bad address), | |
| 45 | + * actual translation fault | |
| 46 | + */ | |
| 47 | + IOMMU_FAULT_REASON_PTE_FETCH, | |
| 48 | + | |
| 49 | + /* Protection flag check failed */ | |
| 50 | + IOMMU_FAULT_REASON_PERMISSION, | |
| 51 | + | |
| 52 | + /* access flag check failed */ | |
| 53 | + IOMMU_FAULT_REASON_ACCESS, | |
| 54 | + | |
| 55 | + /* Output address of a translation stage caused Address Size fault */ | |
| 56 | + IOMMU_FAULT_REASON_OOR_ADDRESS, | |
| 57 | +}; | |
| 58 | + | |
| 59 | +/** | |
| 60 | + * struct iommu_fault_unrecoverable - Unrecoverable fault data | |
| 61 | + * @reason: reason of the fault, from &enum iommu_fault_reason | |
| 62 | + * @flags: parameters of this fault (IOMMU_FAULT_UNRECOV_* values) | |
| 63 | + * @pasid: Process Address Space ID | |
| 64 | + * @perm: requested permission access using by the incoming transaction | |
| 65 | + * (IOMMU_FAULT_PERM_* values) | |
| 66 | + * @addr: offending page address | |
| 67 | + * @fetch_addr: address that caused a fetch abort, if any | |
| 68 | + */ | |
| 69 | +struct iommu_fault_unrecoverable { | |
| 70 | + __u32 reason; | |
| 71 | +#define IOMMU_FAULT_UNRECOV_PASID_VALID (1 << 0) | |
| 72 | +#define IOMMU_FAULT_UNRECOV_ADDR_VALID (1 << 1) | |
| 73 | +#define IOMMU_FAULT_UNRECOV_FETCH_ADDR_VALID (1 << 2) | |
| 74 | + __u32 flags; | |
| 75 | + __u32 pasid; | |
| 76 | + __u32 perm; | |
| 77 | + __u64 addr; | |
| 78 | + __u64 fetch_addr; | |
| 79 | +}; | |
| 80 | + | |
| 81 | +/** | |
| 82 | + * struct iommu_fault_page_request - Page Request data | |
| 83 | + * @flags: encodes whether the corresponding fields are valid and whether this | |
| 84 | + * is the last page in group (IOMMU_FAULT_PAGE_REQUEST_* values) | |
| 85 | + * @pasid: Process Address Space ID | |
| 86 | + * @grpid: Page Request Group Index | |
| 87 | + * @perm: requested page permissions (IOMMU_FAULT_PERM_* values) | |
| 88 | + * @addr: page address | |
| 89 | + * @private_data: device-specific private information | |
| 90 | + */ | |
| 91 | +struct iommu_fault_page_request { | |
| 92 | +#define IOMMU_FAULT_PAGE_REQUEST_PASID_VALID (1 << 0) | |
| 93 | +#define IOMMU_FAULT_PAGE_REQUEST_LAST_PAGE (1 << 1) | |
| 94 | +#define IOMMU_FAULT_PAGE_REQUEST_PRIV_DATA (1 << 2) | |
| 95 | + __u32 flags; | |
| 96 | + __u32 pasid; | |
| 97 | + __u32 grpid; | |
| 98 | + __u32 perm; | |
| 99 | + __u64 addr; | |
| 100 | + __u64 private_data[2]; | |
| 101 | +}; | |
| 102 | + | |
| 103 | +/** | |
| 104 | + * struct iommu_fault - Generic fault data | |
| 105 | + * @type: fault type from &enum iommu_fault_type | |
| 106 | + * @padding: reserved for future use (should be zero) | |
| 107 | + * @event: fault event, when @type is %IOMMU_FAULT_DMA_UNRECOV | |
| 108 | + * @prm: Page Request message, when @type is %IOMMU_FAULT_PAGE_REQ | |
| 109 | + * @padding2: sets the fault size to allow for future extensions | |
| 110 | + */ | |
| 111 | +struct iommu_fault { | |
| 112 | + __u32 type; | |
| 113 | + __u32 padding; | |
| 114 | + union { | |
| 115 | + struct iommu_fault_unrecoverable event; | |
| 116 | + struct iommu_fault_page_request prm; | |
| 117 | + __u8 padding2[56]; | |
| 118 | + }; | |
| 119 | +}; | |
| 120 | + | |
| 121 | +/** | |
| 122 | + * enum iommu_page_response_code - Return status of fault handlers | |
| 123 | + * @IOMMU_PAGE_RESP_SUCCESS: Fault has been handled and the page tables | |
| 124 | + * populated, retry the access. This is "Success" in PCI PRI. | |
| 125 | + * @IOMMU_PAGE_RESP_FAILURE: General error. Drop all subsequent faults from | |
| 126 | + * this device if possible. This is "Response Failure" in PCI PRI. | |
| 127 | + * @IOMMU_PAGE_RESP_INVALID: Could not handle this fault, don't retry the | |
| 128 | + * access. This is "Invalid Request" in PCI PRI. | |
| 129 | + */ | |
| 130 | +enum iommu_page_response_code { | |
| 131 | + IOMMU_PAGE_RESP_SUCCESS = 0, | |
| 132 | + IOMMU_PAGE_RESP_INVALID, | |
| 133 | + IOMMU_PAGE_RESP_FAILURE, | |
| 134 | +}; | |
| 135 | + | |
| 136 | +/** | |
| 137 | + * struct iommu_page_response - Generic page response information | |
| 138 | + * @version: API version of this structure | |
| 139 | + * @flags: encodes whether the corresponding fields are valid | |
| 140 | + * (IOMMU_FAULT_PAGE_RESPONSE_* values) | |
| 141 | + * @pasid: Process Address Space ID | |
| 142 | + * @grpid: Page Request Group Index | |
| 143 | + * @code: response code from &enum iommu_page_response_code | |
| 144 | + */ | |
| 145 | +struct iommu_page_response { | |
| 146 | +#define IOMMU_PAGE_RESP_VERSION_1 1 | |
| 147 | + __u32 version; | |
| 148 | +#define IOMMU_PAGE_RESP_PASID_VALID (1 << 0) | |
| 149 | + __u32 flags; | |
| 150 | + __u32 pasid; | |
| 151 | + __u32 grpid; | |
| 152 | + __u32 code; | |
| 153 | +}; | |
| 154 | + | |
| 155 | +#endif /* _UAPI_IOMMU_H */ | |
| @@ -1,3 +1,4 @@ | ||
| 1 | +/* SPDX-License-Identifier: GPL-2.0-only */ | |
| 1 | 2 | /* |
| 2 | 3 | * Userspace interface for AMD Secure Encrypted Virtualization (SEV) |
| 3 | 4 | * platform management commands. |
| @@ -7,10 +8,6 @@ · 3 unmodified lines | ||
| 7 | 8 | * Author: Brijesh Singh <brijesh.singh@amd.com> |
| 8 | 9 | * |
| 9 | 10 | * SEV API specification is available at: https://developer.amd.com/sev/ |
| 10 | − * | |
| 11 | − * This program is free software; you can redistribute it and/or modify | |
| 12 | − * it under the terms of the GNU General Public License version 2 as | |
| 13 | − * published by the Free Software Foundation. | |
| 14 | 11 | */ |
| 15 | 12 | |
| 16 | 13 | #ifndef __PSP_SEV_USER_H__ |
| @@ -283,6 +283,7 @@ enum · 282 unmodified lines | ||
| 283 | 283 | LINUX_MIB_TCPACKCOMPRESSED, /* TCPAckCompressed */ |
| 284 | 284 | LINUX_MIB_TCPZEROWINDOWDROP, /* TCPZeroWindowDrop */ |
| 285 | 285 | LINUX_MIB_TCPRCVQDROP, /* TCPRcvQDrop */ |
| 286 | + LINUX_MIB_TCPWQUEUETOOBIG, /* TCPWqueueTooBig */ | |
| 286 | 287 | __LINUX_MIB_MAX |
| 287 | 288 | }; |
| 288 | 289 | |
| @@ -1,11 +1,8 @@ | ||
| 1 | +/* SPDX-License-Identifier: GPL-2.0-only */ | |
| 1 | 2 | /* |
| 2 | 3 | * User API methods for ACPI-WMI mapping driver |
| 3 | 4 | * |
| 4 | 5 | * Copyright (C) 2017 Dell, Inc. |
| 5 | − * | |
| 6 | − * This program is free software; you can redistribute it and/or modify | |
| 7 | − * it under the terms of the GNU General Public License version 2 as | |
| 8 | − * published by the Free Software Foundation. | |
| 9 | 6 | */ |
| 10 | 7 | #ifndef _UAPI_LINUX_WMI_H |
| 11 | 8 | #define _UAPI_LINUX_WMI_H |
| @@ -413,6 +413,10 @@ struct hl_debug_params_spmu { · 412 unmodified lines | ||
| 413 | 413 | #define HL_DEBUG_OP_SPMU 5 |
| 414 | 414 | /* Opcode for timestamp */ |
| 415 | 415 | #define HL_DEBUG_OP_TIMESTAMP 6 |
| 416 | +/* Opcode for setting the device into or out of debug mode. The enable | |
| 417 | + * variable should be 1 for enabling debug mode and 0 for disabling it | |
| 418 | + */ | |
| 419 | +#define HL_DEBUG_OP_SET_MODE 7 | |
| 416 | 420 | |
| 417 | 421 | struct hl_debug_args { |
| 418 | 422 | /* |
| @@ -574,8 +578,22 @@ struct hl_debug_args { · 155 unmodified lines | ||
| 574 | 578 | * |
| 575 | 579 | * This IOCTL allows the user to get debug traces from the chip. |
| 576 | 580 | * |
| 577 | − * The user needs to provide the register index and essential data such as | |
| 578 | − * buffer address and size. | |
| 581 | + * Before the user can send configuration requests of the various | |
| 582 | + * debug/profile engines, it needs to set the device into debug mode. | |
| 583 | + * This is because the debug/profile infrastructure is shared component in the | |
| 584 | + * device and we can't allow multiple users to access it at the same time. | |
| 585 | + * | |
| 586 | + * Once a user set the device into debug mode, the driver won't allow other | |
| 587 | + * users to "work" with the device, i.e. open a FD. If there are multiple users | |
| 588 | + * opened on the device, the driver won't allow any user to debug the device. | |
| 589 | + * | |
| 590 | + * For each configuration request, the user needs to provide the register index | |
| 591 | + * and essential data such as buffer address and size. | |
| 592 | + * | |
| 593 | + * Once the user has finished using the debug/profile engines, he should | |
| 594 | + * set the device into non-debug mode, i.e. disable debug mode. | |
| 595 | + * | |
| 596 | + * The driver can decide to "kick out" the user if he abuses this interface. | |
| 579 | 597 | * |
| 580 | 598 | */ |
| 581 | 599 | #define HL_IOCTL_DEBUG \ |
| @@ -26,7 +26,7 @@ · 25 unmodified lines | ||
| 26 | 26 | |
| 27 | 27 | /* SOF ABI version major, minor and patch numbers */ |
| 28 | 28 | #define SOF_ABI_MAJOR 3 |
| 29 | −#define SOF_ABI_MINOR 4 | |
| 29 | +#define SOF_ABI_MINOR 6 | |
| 30 | 30 | #define SOF_ABI_PATCH 0 |
| 31 | 31 | |
| 32 | 32 | /* SOF ABI version number. Format within 32bit word is MMmmmppp */ |