Pull in wireless/main content since some new code would otherwise conflict with it.
Showing the changes to include/uapi (8 of 1238 files). Show all
Unified · Split
| @@ -110,6 +110,12 @@ union bpf_iter_link_info { · 109 unmodified lines | ||
| 110 | 110 | __u32 cgroup_fd; |
| 111 | 111 | __u64 cgroup_id; |
| 112 | 112 | } cgroup; |
| 113 | + /* Parameters of task iterators. */ | |
| 114 | + struct { | |
| 115 | + __u32 tid; | |
| 116 | + __u32 pid; | |
| 117 | + __u32 pid_fd; | |
| 118 | + } task; | |
| 113 | 119 | }; |
| 114 | 120 | |
| 115 | 121 | /* BPF syscall commands, see bpf(2) man-page for more details. */ |
| @@ -928,6 +934,7 @@ enum bpf_map_type { · 812 unmodified lines | ||
| 928 | 934 | BPF_MAP_TYPE_INODE_STORAGE, |
| 929 | 935 | BPF_MAP_TYPE_TASK_STORAGE, |
| 930 | 936 | BPF_MAP_TYPE_BLOOM_FILTER, |
| 937 | + BPF_MAP_TYPE_USER_RINGBUF, | |
| 931 | 938 | }; |
| 932 | 939 | |
| 933 | 940 | /* Note that tracing related programs such as |
| @@ -1252,7 +1259,7 @@ enum { · 318 unmodified lines | ||
| 1252 | 1259 | |
| 1253 | 1260 | /* Query effective (directly attached + inherited from ancestor cgroups) |
| 1254 | 1261 | * programs that will be executed for events within a cgroup. |
| 1255 | − * attach_flags with this flag are returned only for directly attached programs. | |
| 1262 | + * attach_flags with this flag are always returned 0. | |
| 1256 | 1263 | */ |
| 1257 | 1264 | #define BPF_F_QUERY_EFFECTIVE (1U << 0) |
| 1258 | 1265 | |
| @@ -1451,7 +1458,10 @@ union bpf_attr { · 192 unmodified lines | ||
| 1451 | 1458 | __u32 attach_flags; |
| 1452 | 1459 | __aligned_u64 prog_ids; |
| 1453 | 1460 | __u32 prog_cnt; |
| 1454 | − __aligned_u64 prog_attach_flags; /* output: per-program attach_flags */ | |
| 1461 | + /* output: per-program attach_flags. | |
| 1462 | + * not allowed to be set during effective query. | |
| 1463 | + */ | |
| 1464 | + __aligned_u64 prog_attach_flags; | |
| 1455 | 1465 | } query; |
| 1456 | 1466 | |
| 1457 | 1467 | struct { /* anonymous struct used by BPF_RAW_TRACEPOINT_OPEN command */ |
| @@ -4950,6 +4960,7 @@ union bpf_attr { · 3492 unmodified lines | ||
| 4950 | 4960 | * Get address of the traced function (for tracing and kprobe programs). |
| 4951 | 4961 | * Return |
| 4952 | 4962 | * Address of the traced function. |
| 4963 | + * 0 for kprobes placed within the function (not at the entry). | |
| 4953 | 4964 | * |
| 4954 | 4965 | * u64 bpf_get_attach_cookie(void *ctx) |
| 4955 | 4966 | * Description |
| @@ -5079,12 +5090,12 @@ union bpf_attr { · 123 unmodified lines | ||
| 5079 | 5090 | * |
| 5080 | 5091 | * long bpf_get_func_arg(void *ctx, u32 n, u64 *value) |
| 5081 | 5092 | * Description |
| 5082 | − * Get **n**-th argument (zero based) of the traced function (for tracing programs) | |
| 5093 | + * Get **n**-th argument register (zero based) of the traced function (for tracing programs) | |
| 5083 | 5094 | * returned in **value**. |
| 5084 | 5095 | * |
| 5085 | 5096 | * Return |
| 5086 | 5097 | * 0 on success. |
| 5087 | − * **-EINVAL** if n >= arguments count of traced function. | |
| 5098 | + * **-EINVAL** if n >= argument register count of traced function. | |
| 5088 | 5099 | * |
| 5089 | 5100 | * long bpf_get_func_ret(void *ctx, u64 *value) |
| 5090 | 5101 | * Description |
| @@ -5097,10 +5108,11 @@ union bpf_attr { · 6 unmodified lines | ||
| 5097 | 5108 | * |
| 5098 | 5109 | * long bpf_get_func_arg_cnt(void *ctx) |
| 5099 | 5110 | * Description |
| 5100 | − * Get number of arguments of the traced function (for tracing programs). | |
| 5111 | + * Get number of registers of the traced function (for tracing programs) where | |
| 5112 | + * function arguments are stored in these registers. | |
| 5101 | 5113 | * |
| 5102 | 5114 | * Return |
| 5103 | − * The number of arguments of the traced function. | |
| 5115 | + * The number of argument registers of the traced function. | |
| 5104 | 5116 | * |
| 5105 | 5117 | * int bpf_get_retval(void) |
| 5106 | 5118 | * Description |
| @@ -5386,6 +5398,43 @@ union bpf_attr { · 279 unmodified lines | ||
| 5386 | 5398 | * Return |
| 5387 | 5399 | * Current *ktime*. |
| 5388 | 5400 | * |
| 5401 | + * long bpf_user_ringbuf_drain(struct bpf_map *map, void *callback_fn, void *ctx, u64 flags) | |
| 5402 | + * Description | |
| 5403 | + * Drain samples from the specified user ring buffer, and invoke | |
| 5404 | + * the provided callback for each such sample: | |
| 5405 | + * | |
| 5406 | + * long (\*callback_fn)(struct bpf_dynptr \*dynptr, void \*ctx); | |
| 5407 | + * | |
| 5408 | + * If **callback_fn** returns 0, the helper will continue to try | |
| 5409 | + * and drain the next sample, up to a maximum of | |
| 5410 | + * BPF_MAX_USER_RINGBUF_SAMPLES samples. If the return value is 1, | |
| 5411 | + * the helper will skip the rest of the samples and return. Other | |
| 5412 | + * return values are not used now, and will be rejected by the | |
| 5413 | + * verifier. | |
| 5414 | + * Return | |
| 5415 | + * The number of drained samples if no error was encountered while | |
| 5416 | + * draining samples, or 0 if no samples were present in the ring | |
| 5417 | + * buffer. If a user-space producer was epoll-waiting on this map, | |
| 5418 | + * and at least one sample was drained, they will receive an event | |
| 5419 | + * notification notifying them of available space in the ring | |
| 5420 | + * buffer. If the BPF_RB_NO_WAKEUP flag is passed to this | |
| 5421 | + * function, no wakeup notification will be sent. If the | |
| 5422 | + * BPF_RB_FORCE_WAKEUP flag is passed, a wakeup notification will | |
| 5423 | + * be sent even if no sample was drained. | |
| 5424 | + * | |
| 5425 | + * On failure, the returned value is one of the following: | |
| 5426 | + * | |
| 5427 | + * **-EBUSY** if the ring buffer is contended, and another calling | |
| 5428 | + * context was concurrently draining the ring buffer. | |
| 5429 | + * | |
| 5430 | + * **-EINVAL** if user-space is not properly tracking the ring | |
| 5431 | + * buffer due to the producer position not being aligned to 8 | |
| 5432 | + * bytes, a sample not being aligned to 8 bytes, or the producer | |
| 5433 | + * position not matching the advertised length of a sample. | |
| 5434 | + * | |
| 5435 | + * **-E2BIG** if user-space has tried to publish a sample which is | |
| 5436 | + * larger than the size of the ring buffer, or which cannot fit | |
| 5437 | + * within a struct bpf_dynptr. | |
| 5389 | 5438 | */ |
| 5390 | 5439 | #define __BPF_FUNC_MAPPER(FN) \ |
| 5391 | 5440 | FN(unspec), \ |
| @@ -5597,6 +5646,7 @@ union bpf_attr { · 205 unmodified lines | ||
| 5597 | 5646 | FN(tcp_raw_check_syncookie_ipv4), \ |
| 5598 | 5647 | FN(tcp_raw_check_syncookie_ipv6), \ |
| 5599 | 5648 | FN(ktime_get_tai_ns), \ |
| 5649 | + FN(user_ringbuf_drain), \ | |
| 5600 | 5650 | /* */ |
| 5601 | 5651 | |
| 5602 | 5652 | /* integer value in 'imm' field of BPF_CALL instruction selects which helper |
| @@ -6218,6 +6268,10 @@ struct bpf_link_info { · 615 unmodified lines | ||
| 6218 | 6268 | __u64 cgroup_id; |
| 6219 | 6269 | __u32 order; |
| 6220 | 6270 | } cgroup; |
| 6271 | + struct { | |
| 6272 | + __u32 tid; | |
| 6273 | + __u32 pid; | |
| 6274 | + } task; | |
| 6221 | 6275 | }; |
| 6222 | 6276 | } iter; |
| 6223 | 6277 | struct { |
| @@ -69,7 +69,6 @@ struct dlm_lksb { · 68 unmodified lines | ||
| 69 | 69 | /* dlm_new_lockspace() flags */ |
| 70 | 70 | |
| 71 | 71 | #define DLM_LSFL_TIMEWARN 0x00000002 |
| 72 | −#define DLM_LSFL_FS 0x00000004 | |
| 73 | 72 | #define DLM_LSFL_NEWEXCL 0x00000008 |
| 74 | 73 | |
| 75 | 74 | |
| @@ -736,6 +736,51 @@ enum ethtool_module_power_mode { · 735 unmodified lines | ||
| 736 | 736 | ETHTOOL_MODULE_POWER_MODE_HIGH, |
| 737 | 737 | }; |
| 738 | 738 | |
| 739 | +/** | |
| 740 | + * enum ethtool_podl_pse_admin_state - operational state of the PoDL PSE | |
| 741 | + * functions. IEEE 802.3-2018 30.15.1.1.2 aPoDLPSEAdminState | |
| 742 | + * @ETHTOOL_PODL_PSE_ADMIN_STATE_UNKNOWN: state of PoDL PSE functions are | |
| 743 | + * unknown | |
| 744 | + * @ETHTOOL_PODL_PSE_ADMIN_STATE_DISABLED: PoDL PSE functions are disabled | |
| 745 | + * @ETHTOOL_PODL_PSE_ADMIN_STATE_ENABLED: PoDL PSE functions are enabled | |
| 746 | + */ | |
| 747 | +enum ethtool_podl_pse_admin_state { | |
| 748 | + ETHTOOL_PODL_PSE_ADMIN_STATE_UNKNOWN = 1, | |
| 749 | + ETHTOOL_PODL_PSE_ADMIN_STATE_DISABLED, | |
| 750 | + ETHTOOL_PODL_PSE_ADMIN_STATE_ENABLED, | |
| 751 | +}; | |
| 752 | + | |
| 753 | +/** | |
| 754 | + * enum ethtool_podl_pse_pw_d_status - power detection status of the PoDL PSE. | |
| 755 | + * IEEE 802.3-2018 30.15.1.1.3 aPoDLPSEPowerDetectionStatus: | |
| 756 | + * @ETHTOOL_PODL_PSE_PW_D_STATUS_UNKNOWN: PoDL PSE | |
| 757 | + * @ETHTOOL_PODL_PSE_PW_D_STATUS_DISABLED: "The enumeration “disabled” is | |
| 758 | + * asserted true when the PoDL PSE state diagram variable mr_pse_enable is | |
| 759 | + * false" | |
| 760 | + * @ETHTOOL_PODL_PSE_PW_D_STATUS_SEARCHING: "The enumeration “searching” is | |
| 761 | + * asserted true when either of the PSE state diagram variables | |
| 762 | + * pi_detecting or pi_classifying is true." | |
| 763 | + * @ETHTOOL_PODL_PSE_PW_D_STATUS_DELIVERING: "The enumeration “deliveringPower” | |
| 764 | + * is asserted true when the PoDL PSE state diagram variable pi_powered is | |
| 765 | + * true." | |
| 766 | + * @ETHTOOL_PODL_PSE_PW_D_STATUS_SLEEP: "The enumeration “sleep” is asserted | |
| 767 | + * true when the PoDL PSE state diagram variable pi_sleeping is true." | |
| 768 | + * @ETHTOOL_PODL_PSE_PW_D_STATUS_IDLE: "The enumeration “idle” is asserted true | |
| 769 | + * when the logical combination of the PoDL PSE state diagram variables | |
| 770 | + * pi_prebiased*!pi_sleeping is true." | |
| 771 | + * @ETHTOOL_PODL_PSE_PW_D_STATUS_ERROR: "The enumeration “error” is asserted | |
| 772 | + * true when the PoDL PSE state diagram variable overload_held is true." | |
| 773 | + */ | |
| 774 | +enum ethtool_podl_pse_pw_d_status { | |
| 775 | + ETHTOOL_PODL_PSE_PW_D_STATUS_UNKNOWN = 1, | |
| 776 | + ETHTOOL_PODL_PSE_PW_D_STATUS_DISABLED, | |
| 777 | + ETHTOOL_PODL_PSE_PW_D_STATUS_SEARCHING, | |
| 778 | + ETHTOOL_PODL_PSE_PW_D_STATUS_DELIVERING, | |
| 779 | + ETHTOOL_PODL_PSE_PW_D_STATUS_SLEEP, | |
| 780 | + ETHTOOL_PODL_PSE_PW_D_STATUS_IDLE, | |
| 781 | + ETHTOOL_PODL_PSE_PW_D_STATUS_ERROR, | |
| 782 | +}; | |
| 783 | + | |
| 739 | 784 | /** |
| 740 | 785 | * struct ethtool_gstrings - string set for data tagging |
| 741 | 786 | * @cmd: Command number = %ETHTOOL_GSTRINGS |
| @@ -49,6 +49,8 @@ enum { · 48 unmodified lines | ||
| 49 | 49 | ETHTOOL_MSG_PHC_VCLOCKS_GET, |
| 50 | 50 | ETHTOOL_MSG_MODULE_GET, |
| 51 | 51 | ETHTOOL_MSG_MODULE_SET, |
| 52 | + ETHTOOL_MSG_PSE_GET, | |
| 53 | + ETHTOOL_MSG_PSE_SET, | |
| 52 | 54 | |
| 53 | 55 | /* add new constants above here */ |
| 54 | 56 | __ETHTOOL_MSG_USER_CNT, |
| @@ -94,6 +96,7 @@ enum { · 39 unmodified lines | ||
| 94 | 96 | ETHTOOL_MSG_PHC_VCLOCKS_GET_REPLY, |
| 95 | 97 | ETHTOOL_MSG_MODULE_GET_REPLY, |
| 96 | 98 | ETHTOOL_MSG_MODULE_NTF, |
| 99 | + ETHTOOL_MSG_PSE_GET_REPLY, | |
| 97 | 100 | |
| 98 | 101 | /* add new constants above here */ |
| 99 | 102 | __ETHTOOL_MSG_KERNEL_CNT, |
| @@ -863,6 +866,19 @@ enum { · 763 unmodified lines | ||
| 863 | 866 | ETHTOOL_A_MODULE_MAX = (__ETHTOOL_A_MODULE_CNT - 1) |
| 864 | 867 | }; |
| 865 | 868 | |
| 869 | +/* Power Sourcing Equipment */ | |
| 870 | +enum { | |
| 871 | + ETHTOOL_A_PSE_UNSPEC, | |
| 872 | + ETHTOOL_A_PSE_HEADER, /* nest - _A_HEADER_* */ | |
| 873 | + ETHTOOL_A_PODL_PSE_ADMIN_STATE, /* u32 */ | |
| 874 | + ETHTOOL_A_PODL_PSE_ADMIN_CONTROL, /* u32 */ | |
| 875 | + ETHTOOL_A_PODL_PSE_PW_D_STATUS, /* u32 */ | |
| 876 | + | |
| 877 | + /* add new constants above here */ | |
| 878 | + __ETHTOOL_A_PSE_CNT, | |
| 879 | + ETHTOOL_A_PSE_MAX = (__ETHTOOL_A_PSE_CNT - 1) | |
| 880 | +}; | |
| 881 | + | |
| 866 | 882 | /* generic netlink info */ |
| 867 | 883 | #define ETHTOOL_GENL_NAME "ethtool" |
| 868 | 884 | #define ETHTOOL_GENL_VERSION 1 |
| @@ -695,6 +695,7 @@ enum { · 694 unmodified lines | ||
| 695 | 695 | IFLA_XFRM_UNSPEC, |
| 696 | 696 | IFLA_XFRM_LINK, |
| 697 | 697 | IFLA_XFRM_IF_ID, |
| 698 | + IFLA_XFRM_COLLECT_METADATA, | |
| 698 | 699 | __IFLA_XFRM_MAX |
| 699 | 700 | }; |
| 700 | 701 | |
| @@ -26,7 +26,7 @@ struct landlock_ruleset_attr { · 25 unmodified lines | ||
| 26 | 26 | * Landlock filesystem access rights that are not part of |
| 27 | 27 | * handled_access_fs are allowed. This is needed for backward |
| 28 | 28 | * compatibility reasons. One exception is the |
| 29 | − * LANDLOCK_ACCESS_FS_REFER access right, which is always implicitly | |
| 29 | + * %LANDLOCK_ACCESS_FS_REFER access right, which is always implicitly | |
| 30 | 30 | * handled, but must still be explicitly handled to add new rules with |
| 31 | 31 | * this access right. |
| 32 | 32 | */ |
| @@ -128,11 +128,11 @@ struct landlock_path_beneath_attr { · 95 unmodified lines | ||
| 128 | 128 | * hierarchy must also always have the same or a superset of restrictions of |
| 129 | 129 | * the source hierarchy. If it is not the case, or if the domain doesn't |
| 130 | 130 | * handle this access right, such actions are denied by default with errno |
| 131 | − * set to EXDEV. Linking also requires a LANDLOCK_ACCESS_FS_MAKE_* access | |
| 132 | − * right on the destination directory, and renaming also requires a | |
| 133 | − * LANDLOCK_ACCESS_FS_REMOVE_* access right on the source's (file or | |
| 131 | + * set to ``EXDEV``. Linking also requires a ``LANDLOCK_ACCESS_FS_MAKE_*`` | |
| 132 | + * access right on the destination directory, and renaming also requires a | |
| 133 | + * ``LANDLOCK_ACCESS_FS_REMOVE_*`` access right on the source's (file or | |
| 134 | 134 | * directory) parent. Otherwise, such actions are denied with errno set to |
| 135 | − * EACCES. The EACCES errno prevails over EXDEV to let user space | |
| 135 | + * ``EACCES``. The ``EACCES`` errno prevails over ``EXDEV`` to let user space | |
| 136 | 136 | * efficiently deal with an unrecoverable error. |
| 137 | 137 | * |
| 138 | 138 | * .. warning:: |
| @@ -15,6 +15,7 @@ enum lwtunnel_encap_types { · 14 unmodified lines | ||
| 15 | 15 | LWTUNNEL_ENCAP_SEG6_LOCAL, |
| 16 | 16 | LWTUNNEL_ENCAP_RPL, |
| 17 | 17 | LWTUNNEL_ENCAP_IOAM6, |
| 18 | + LWTUNNEL_ENCAP_XFRM, | |
| 18 | 19 | __LWTUNNEL_ENCAP_MAX, |
| 19 | 20 | }; |
| 20 | 21 | |
| @@ -111,4 +112,13 @@ enum { · 90 unmodified lines | ||
| 111 | 112 | |
| 112 | 113 | #define LWT_BPF_MAX_HEADROOM 256 |
| 113 | 114 | |
| 115 | +enum { | |
| 116 | + LWT_XFRM_UNSPEC, | |
| 117 | + LWT_XFRM_IF_ID, | |
| 118 | + LWT_XFRM_LINK, | |
| 119 | + __LWT_XFRM_MAX, | |
| 120 | +}; | |
| 121 | + | |
| 122 | +#define LWT_XFRM_MAX (__LWT_XFRM_MAX - 1) | |
| 123 | + | |
| 114 | 124 | #endif /* _UAPI_LWTUNNEL_H_ */ |
| @@ -124,7 +124,8 @@ struct statx { · 123 unmodified lines | ||
| 124 | 124 | __u32 stx_dev_minor; |
| 125 | 125 | /* 0x90 */ |
| 126 | 126 | __u64 stx_mnt_id; |
| 127 | − __u64 __spare2; | |
| 127 | + __u32 stx_dio_mem_align; /* Memory buffer alignment for direct I/O */ | |
| 128 | + __u32 stx_dio_offset_align; /* File offset alignment for direct I/O */ | |
| 128 | 129 | /* 0xa0 */ |
| 129 | 130 | __u64 __spare3[12]; /* Spare space for future expansion */ |
| 130 | 131 | /* 0x100 */ |
| @@ -152,6 +153,7 @@ struct statx { · 21 unmodified lines | ||
| 152 | 153 | #define STATX_BASIC_STATS 0x000007ffU /* The stuff in the normal stat struct */ |
| 153 | 154 | #define STATX_BTIME 0x00000800U /* Want/got stx_btime */ |
| 154 | 155 | #define STATX_MNT_ID 0x00001000U /* Got stx_mnt_id */ |
| 156 | +#define STATX_DIOALIGN 0x00002000U /* Want/got direct I/O alignment info */ | |
| 155 | 157 | |
| 156 | 158 | #define STATX__RESERVED 0x80000000U /* Reserved for future struct statx expansion */ |
| 157 | 159 | |