History

Merge branches 'for-4.20/upstream-fixes', 'for-4.21/core', 'for-4.21/hid-asus', 'for-4.21/hid-core', 'for-4.21/hid-cougar', 'for-4.21/hidraw', 'for-4.21/highres-wheel' and 'for-4.21/ish' into for-linus

Jiri Kosina committed 7 years ago

Commit bd8879f8 parents f8f8074 8c32d47 0e1f37d 7f55927 aeed35f 31a8b3e 1676722 74fbc7d1847 files · +37230 −12355Browse files

Showing the changes to include/uapi/linux (11 of 1847 files). Show all

Unified · Split

11 files
  1. include/uapi/linux/bpf.h +37 −19
  2. include/uapi/linux/input-event-codes.h +2 −0
  3. include/uapi/linux/keyctl.h +30 −0
  4. include/uapi/linux/kfd_ioctl.h +9 −9
  5. include/uapi/linux/netfilter/nf_tables.h +2 −2
  6. include/uapi/linux/netfilter_bridge.h +4 −0
  7. include/uapi/linux/perf_event.h +2 −0
  8. include/uapi/linux/prctl.h +1 −0
  9. include/uapi/linux/sctp.h +3 −0
  10. include/uapi/linux/v4l2-controls.h +5 −0
  11. include/uapi/linux/virtio_balloon.h +8 −0
include/uapi/linux/bpf.h+37−19
@@ -2170,7 +2170,7 @@ union bpf_attr { · 2169 unmodified lines
2170 * Return2170 * Return
2171 * 0 on success, or a negative error in case of failure.2171 * 0 on success, or a negative error in case of failure.
2172 *2172 *
2173 * struct bpf_sock *bpf_sk_lookup_tcp(void *ctx, struct bpf_sock_tuple *tuple, u32 tuple_size, u32 netns, u64 flags)2173 * struct bpf_sock *bpf_sk_lookup_tcp(void *ctx, struct bpf_sock_tuple *tuple, u32 tuple_size, u64 netns, u64 flags)
2174 * Description2174 * Description
2175 * Look for TCP socket matching *tuple*, optionally in a child2175 * Look for TCP socket matching *tuple*, optionally in a child
2176 * network namespace *netns*. The return value must be checked,2176 * network namespace *netns*. The return value must be checked,
@@ -2187,12 +2187,14 @@ union bpf_attr { · 10 unmodified lines
2187 * **sizeof**\ (*tuple*\ **->ipv6**)2187 * **sizeof**\ (*tuple*\ **->ipv6**)
2188 * Look for an IPv6 socket.2188 * Look for an IPv6 socket.
2189 *2189 *
2190 * If the *netns* is zero, then the socket lookup table in the2190 * If the *netns* is a negative signed 32-bit integer, then the
2191 * netns associated with the *ctx* will be used. For the TC hooks,2191 * socket lookup table in the netns associated with the *ctx* will
2192 * this in the netns of the device in the skb. For socket hooks,2192 * will be used. For the TC hooks, this is the netns of the device
2193 * this in the netns of the socket. If *netns* is non-zero, then2193 * in the skb. For socket hooks, this is the netns of the socket.
2194 * it specifies the ID of the netns relative to the netns2194 * If *netns* is any other signed 32-bit value greater than or
2195 * associated with the *ctx*.2195 * equal to zero then it specifies the ID of the netns relative to
2196 * the netns associated with the *ctx*. *netns* values beyond the
2197 * range of 32-bit integers are reserved for future use.
2196 *2198 *
2197 * All values for *flags* are reserved for future usage, and must2199 * All values for *flags* are reserved for future usage, and must
2198 * be left at zero.2200 * be left at zero.
@@ -2201,8 +2203,10 @@ union bpf_attr { · 2 unmodified lines
2201 * **CONFIG_NET** configuration option.2203 * **CONFIG_NET** configuration option.
2202 * Return2204 * Return
2203 * Pointer to *struct bpf_sock*, or NULL in case of failure.2205 * Pointer to *struct bpf_sock*, or NULL in case of failure.
2206 * For sockets with reuseport option, the *struct bpf_sock*
2207 * result is from reuse->socks[] using the hash of the tuple.
2204 *2208 *
2205 * struct bpf_sock *bpf_sk_lookup_udp(void *ctx, struct bpf_sock_tuple *tuple, u32 tuple_size, u32 netns, u64 flags)2209 * struct bpf_sock *bpf_sk_lookup_udp(void *ctx, struct bpf_sock_tuple *tuple, u32 tuple_size, u64 netns, u64 flags)
2206 * Description2210 * Description
2207 * Look for UDP socket matching *tuple*, optionally in a child2211 * Look for UDP socket matching *tuple*, optionally in a child
2208 * network namespace *netns*. The return value must be checked,2212 * network namespace *netns*. The return value must be checked,
@@ -2219,12 +2223,14 @@ union bpf_attr { · 10 unmodified lines
2219 * **sizeof**\ (*tuple*\ **->ipv6**)2223 * **sizeof**\ (*tuple*\ **->ipv6**)
2220 * Look for an IPv6 socket.2224 * Look for an IPv6 socket.
2221 *2225 *
2222 * If the *netns* is zero, then the socket lookup table in the2226 * If the *netns* is a negative signed 32-bit integer, then the
2223 * netns associated with the *ctx* will be used. For the TC hooks,2227 * socket lookup table in the netns associated with the *ctx* will
2224 * this in the netns of the device in the skb. For socket hooks,2228 * will be used. For the TC hooks, this is the netns of the device
2225 * this in the netns of the socket. If *netns* is non-zero, then2229 * in the skb. For socket hooks, this is the netns of the socket.
2226 * it specifies the ID of the netns relative to the netns2230 * If *netns* is any other signed 32-bit value greater than or
2227 * associated with the *ctx*.2231 * equal to zero then it specifies the ID of the netns relative to
2232 * the netns associated with the *ctx*. *netns* values beyond the
2233 * range of 32-bit integers are reserved for future use.
2228 *2234 *
2229 * All values for *flags* are reserved for future usage, and must2235 * All values for *flags* are reserved for future usage, and must
2230 * be left at zero.2236 * be left at zero.
@@ -2233,6 +2239,8 @@ union bpf_attr { · 2 unmodified lines
2233 * **CONFIG_NET** configuration option.2239 * **CONFIG_NET** configuration option.
2234 * Return2240 * Return
2235 * Pointer to *struct bpf_sock*, or NULL in case of failure.2241 * Pointer to *struct bpf_sock*, or NULL in case of failure.
2242 * For sockets with reuseport option, the *struct bpf_sock*
2243 * result is from reuse->socks[] using the hash of the tuple.
2236 *2244 *
2237 * int bpf_sk_release(struct bpf_sock *sk)2245 * int bpf_sk_release(struct bpf_sock *sk)
2238 * Description2246 * Description
@@ -2405,6 +2413,9 @@ enum bpf_func_id { · 166 unmodified lines
2405/* BPF_FUNC_perf_event_output for sk_buff input context. */2413/* BPF_FUNC_perf_event_output for sk_buff input context. */
2406#define BPF_F_CTXLEN_MASK (0xfffffULL << 32)2414#define BPF_F_CTXLEN_MASK (0xfffffULL << 32)
2407 2415
2416/* Current network namespace */
2417#define BPF_F_CURRENT_NETNS (-1L)
2418
2408/* Mode for BPF_FUNC_skb_adjust_room helper. */2419/* Mode for BPF_FUNC_skb_adjust_room helper. */
2409enum bpf_adj_room_mode {2420enum bpf_adj_room_mode {
2410 BPF_ADJ_ROOM_NET,2421 BPF_ADJ_ROOM_NET,
@@ -2422,6 +2433,12 @@ enum bpf_lwt_encap_mode { · 11 unmodified lines
2422 BPF_LWT_ENCAP_SEG6_INLINE2433 BPF_LWT_ENCAP_SEG6_INLINE
2423};2434};
2424 2435
2436#define __bpf_md_ptr(type, name) \
2437union { \
2438 type name; \
2439 __u64 :64; \
2440} __attribute__((aligned(8)))
2441
2425/* user accessible mirror of in-kernel sk_buff.2442/* user accessible mirror of in-kernel sk_buff.
2426 * new fields can only be added to the end of this structure2443 * new fields can only be added to the end of this structure
2427 */2444 */
@@ -2456,7 +2473,7 @@ struct __sk_buff { · 28 unmodified lines
2456 /* ... here. */2473 /* ... here. */
2457 2474
2458 __u32 data_meta;2475 __u32 data_meta;
2459 struct bpf_flow_keys *flow_keys;2476 __bpf_md_ptr(struct bpf_flow_keys *, flow_keys);
2460};2477};
2461 2478
2462struct bpf_tunnel_key {2479struct bpf_tunnel_key {
@@ -2572,8 +2589,8 @@ enum sk_action { · 109 unmodified lines
2572 * be added to the end of this structure2589 * be added to the end of this structure
2573 */2590 */
2574struct sk_msg_md {2591struct sk_msg_md {
2575 void *data;2592 __bpf_md_ptr(void *, data);
2576 void *data_end;2593 __bpf_md_ptr(void *, data_end);
2577 2594
2578 __u32 family;2595 __u32 family;
2579 __u32 remote_ip4; /* Stored in network byte order */2596 __u32 remote_ip4; /* Stored in network byte order */
@@ -2589,8 +2606,9 @@ struct sk_reuseport_md { · 9 unmodified lines
2589 * Start of directly accessible data. It begins from2606 * Start of directly accessible data. It begins from
2590 * the tcp/udp header.2607 * the tcp/udp header.
2591 */2608 */
2592 void *data;2609 __bpf_md_ptr(void *, data);
2593 void *data_end; /* End of directly accessible data */2610 /* End of directly accessible data */
2611 __bpf_md_ptr(void *, data_end);
2594 /*2612 /*
2595 * Total length of packet (starting from the tcp/udp header).2613 * Total length of packet (starting from the tcp/udp header).
2596 * Note that the directly accessible bytes (data_end - data)2614 * Note that the directly accessible bytes (data_end - data)
include/uapi/linux/input-event-codes.h+2−0
@@ -716,6 +716,8 @@ · 715 unmodified lines
716 * the situation described above.716 * the situation described above.
717 */717 */
718#define REL_RESERVED 0x0a718#define REL_RESERVED 0x0a
719#define REL_WHEEL_HI_RES 0x0b
720#define REL_HWHEEL_HI_RES 0x0c
719#define REL_MAX 0x0f721#define REL_MAX 0x0f
720#define REL_CNT (REL_MAX+1)722#define REL_CNT (REL_MAX+1)
721 723
include/uapi/linux/keyctl.h+30−0
@@ -61,6 +61,11 @@ · 60 unmodified lines
61#define KEYCTL_INVALIDATE 21 /* invalidate a key */61#define KEYCTL_INVALIDATE 21 /* invalidate a key */
62#define KEYCTL_GET_PERSISTENT 22 /* get a user's persistent keyring */62#define KEYCTL_GET_PERSISTENT 22 /* get a user's persistent keyring */
63#define KEYCTL_DH_COMPUTE 23 /* Compute Diffie-Hellman values */63#define KEYCTL_DH_COMPUTE 23 /* Compute Diffie-Hellman values */
64#define KEYCTL_PKEY_QUERY 24 /* Query public key parameters */
65#define KEYCTL_PKEY_ENCRYPT 25 /* Encrypt a blob using a public key */
66#define KEYCTL_PKEY_DECRYPT 26 /* Decrypt a blob using a public key */
67#define KEYCTL_PKEY_SIGN 27 /* Create a public key signature */
68#define KEYCTL_PKEY_VERIFY 28 /* Verify a public key signature */
64#define KEYCTL_RESTRICT_KEYRING 29 /* Restrict keys allowed to link to a keyring */69#define KEYCTL_RESTRICT_KEYRING 29 /* Restrict keys allowed to link to a keyring */
65 70
66/* keyctl structures */71/* keyctl structures */
@@ -82,4 +87,29 @@ struct keyctl_kdf_params { · 15 unmodified lines
82 __u32 __spare[8];87 __u32 __spare[8];
83};88};
84 89
90#define KEYCTL_SUPPORTS_ENCRYPT 0x01
91#define KEYCTL_SUPPORTS_DECRYPT 0x02
92#define KEYCTL_SUPPORTS_SIGN 0x04
93#define KEYCTL_SUPPORTS_VERIFY 0x08
94
95struct keyctl_pkey_query {
96 __u32 supported_ops; /* Which ops are supported */
97 __u32 key_size; /* Size of the key in bits */
98 __u16 max_data_size; /* Maximum size of raw data to sign in bytes */
99 __u16 max_sig_size; /* Maximum size of signature in bytes */
100 __u16 max_enc_size; /* Maximum size of encrypted blob in bytes */
101 __u16 max_dec_size; /* Maximum size of decrypted blob in bytes */
102 __u32 __spare[10];
103};
104
105struct keyctl_pkey_params {
106 __s32 key_id; /* Serial no. of public key to use */
107 __u32 in_len; /* Input data size */
108 union {
109 __u32 out_len; /* Output buffer size (encrypt/decrypt/sign) */
110 __u32 in2_len; /* 2nd input data size (verify) */
111 };
112 __u32 __spare[7];
113};
114
85#endif /* _LINUX_KEYCTL_H */115#endif /* _LINUX_KEYCTL_H */
include/uapi/linux/kfd_ioctl.h+9−9
@@ -83,11 +83,11 @@ struct kfd_ioctl_set_cu_mask_args { · 82 unmodified lines
83};83};
84 84
85struct kfd_ioctl_get_queue_wave_state_args {85struct kfd_ioctl_get_queue_wave_state_args {
86 uint64_t ctl_stack_address; /* to KFD */86 __u64 ctl_stack_address; /* to KFD */
87 uint32_t ctl_stack_used_size; /* from KFD */87 __u32 ctl_stack_used_size; /* from KFD */
88 uint32_t save_area_used_size; /* from KFD */88 __u32 save_area_used_size; /* from KFD */
89 uint32_t queue_id; /* to KFD */89 __u32 queue_id; /* to KFD */
90 uint32_t pad;90 __u32 pad;
91};91};
92 92
93/* For kfd_ioctl_set_memory_policy_args.default_policy and alternate_policy */93/* For kfd_ioctl_set_memory_policy_args.default_policy and alternate_policy */
@@ -255,10 +255,10 @@ struct kfd_hsa_memory_exception_data { · 161 unmodified lines
255 255
256/* hw exception data */256/* hw exception data */
257struct kfd_hsa_hw_exception_data {257struct kfd_hsa_hw_exception_data {
258 uint32_t reset_type;258 __u32 reset_type;
259 uint32_t reset_cause;259 __u32 reset_cause;
260 uint32_t memory_lost;260 __u32 memory_lost;
261 uint32_t gpu_id;261 __u32 gpu_id;
262};262};
263 263
264/* Event data */264/* Event data */
include/uapi/linux/netfilter/nf_tables.h+2−2
@@ -1635,8 +1635,8 @@ enum nft_ng_attributes { · 1634 unmodified lines
1635 NFTA_NG_MODULUS,1635 NFTA_NG_MODULUS,
1636 NFTA_NG_TYPE,1636 NFTA_NG_TYPE,
1637 NFTA_NG_OFFSET,1637 NFTA_NG_OFFSET,
1638 NFTA_NG_SET_NAME,1638 NFTA_NG_SET_NAME, /* deprecated */
1639 NFTA_NG_SET_ID,1639 NFTA_NG_SET_ID, /* deprecated */
1640 __NFTA_NG_MAX1640 __NFTA_NG_MAX
1641};1641};
1642#define NFTA_NG_MAX (__NFTA_NG_MAX - 1)1642#define NFTA_NG_MAX (__NFTA_NG_MAX - 1)
include/uapi/linux/netfilter_bridge.h+4−0
@@ -11,6 +11,10 @@ · 10 unmodified lines
11#include <linux/if_vlan.h>11#include <linux/if_vlan.h>
12#include <linux/if_pppox.h>12#include <linux/if_pppox.h>
13 13
14#ifndef __KERNEL__
15#include <limits.h> /* for INT_MIN, INT_MAX */
16#endif
17
14/* Bridge Hooks */18/* Bridge Hooks */
15/* After promisc drops, checksum checks. */19/* After promisc drops, checksum checks. */
16#define NF_BR_PRE_ROUTING 020#define NF_BR_PRE_ROUTING 0
include/uapi/linux/perf_event.h+2−0
@@ -646,10 +646,12 @@ struct perf_event_mmap_page { · 645 unmodified lines
646 *646 *
647 * PERF_RECORD_MISC_MMAP_DATA - PERF_RECORD_MMAP* events647 * PERF_RECORD_MISC_MMAP_DATA - PERF_RECORD_MMAP* events
648 * PERF_RECORD_MISC_COMM_EXEC - PERF_RECORD_COMM event648 * PERF_RECORD_MISC_COMM_EXEC - PERF_RECORD_COMM event
649 * PERF_RECORD_MISC_FORK_EXEC - PERF_RECORD_FORK event (perf internal)
649 * PERF_RECORD_MISC_SWITCH_OUT - PERF_RECORD_SWITCH* events650 * PERF_RECORD_MISC_SWITCH_OUT - PERF_RECORD_SWITCH* events
650 */651 */
651#define PERF_RECORD_MISC_MMAP_DATA (1 << 13)652#define PERF_RECORD_MISC_MMAP_DATA (1 << 13)
652#define PERF_RECORD_MISC_COMM_EXEC (1 << 13)653#define PERF_RECORD_MISC_COMM_EXEC (1 << 13)
654#define PERF_RECORD_MISC_FORK_EXEC (1 << 13)
653#define PERF_RECORD_MISC_SWITCH_OUT (1 << 13)655#define PERF_RECORD_MISC_SWITCH_OUT (1 << 13)
654/*656/*
655 * These PERF_RECORD_MISC_* flags below are safely reused657 * These PERF_RECORD_MISC_* flags below are safely reused
include/uapi/linux/prctl.h+1−0
@@ -212,6 +212,7 @@ struct prctl_mm_map { · 211 unmodified lines
212#define PR_SET_SPECULATION_CTRL 53212#define PR_SET_SPECULATION_CTRL 53
213/* Speculation control variants */213/* Speculation control variants */
214# define PR_SPEC_STORE_BYPASS 0214# define PR_SPEC_STORE_BYPASS 0
215# define PR_SPEC_INDIRECT_BRANCH 1
215/* Return and control values for PR_SET/GET_SPECULATION_CTRL */216/* Return and control values for PR_SET/GET_SPECULATION_CTRL */
216# define PR_SPEC_NOT_AFFECTED 0217# define PR_SPEC_NOT_AFFECTED 0
217# define PR_SPEC_PRCTL (1UL << 0)218# define PR_SPEC_PRCTL (1UL << 0)
include/uapi/linux/sctp.h+3−0
@@ -568,6 +568,8 @@ struct sctp_assoc_reset_event { · 567 unmodified lines
568 568
569#define SCTP_ASSOC_CHANGE_DENIED 0x0004569#define SCTP_ASSOC_CHANGE_DENIED 0x0004
570#define SCTP_ASSOC_CHANGE_FAILED 0x0008570#define SCTP_ASSOC_CHANGE_FAILED 0x0008
571#define SCTP_STREAM_CHANGE_DENIED SCTP_ASSOC_CHANGE_DENIED
572#define SCTP_STREAM_CHANGE_FAILED SCTP_ASSOC_CHANGE_FAILED
571struct sctp_stream_change_event {573struct sctp_stream_change_event {
572 __u16 strchange_type;574 __u16 strchange_type;
573 __u16 strchange_flags;575 __u16 strchange_flags;
@@ -1151,6 +1153,7 @@ struct sctp_add_streams { · 577 unmodified lines
1151/* SCTP Stream schedulers */1153/* SCTP Stream schedulers */
1152enum sctp_sched_type {1154enum sctp_sched_type {
1153 SCTP_SS_FCFS,1155 SCTP_SS_FCFS,
1156 SCTP_SS_DEFAULT = SCTP_SS_FCFS,
1154 SCTP_SS_PRIO,1157 SCTP_SS_PRIO,
1155 SCTP_SS_RR,1158 SCTP_SS_RR,
1156 SCTP_SS_MAX = SCTP_SS_RR1159 SCTP_SS_MAX = SCTP_SS_RR
include/uapi/linux/v4l2-controls.h+5−0
@@ -50,6 +50,8 @@ · 49 unmodified lines
50#ifndef __LINUX_V4L2_CONTROLS_H50#ifndef __LINUX_V4L2_CONTROLS_H
51#define __LINUX_V4L2_CONTROLS_H51#define __LINUX_V4L2_CONTROLS_H
52 52
53#include <linux/types.h>
54
53/* Control classes */55/* Control classes */
54#define V4L2_CTRL_CLASS_USER 0x00980000 /* Old-style 'user' controls */56#define V4L2_CTRL_CLASS_USER 0x00980000 /* Old-style 'user' controls */
55#define V4L2_CTRL_CLASS_MPEG 0x00990000 /* MPEG-compression controls */57#define V4L2_CTRL_CLASS_MPEG 0x00990000 /* MPEG-compression controls */
@@ -1110,6 +1112,7 @@ struct v4l2_mpeg2_sequence { · 1054 unmodified lines
1110 __u8 profile_and_level_indication;1112 __u8 profile_and_level_indication;
1111 __u8 progressive_sequence;1113 __u8 progressive_sequence;
1112 __u8 chroma_format;1114 __u8 chroma_format;
1115 __u8 pad;
1113};1116};
1114 1117
1115struct v4l2_mpeg2_picture {1118struct v4l2_mpeg2_picture {
@@ -1128,6 +1131,7 @@ struct v4l2_mpeg2_picture { · 12 unmodified lines
1128 __u8 alternate_scan;1131 __u8 alternate_scan;
1129 __u8 repeat_first_field;1132 __u8 repeat_first_field;
1130 __u8 progressive_frame;1133 __u8 progressive_frame;
1134 __u8 pad;
1131};1135};
1132 1136
1133struct v4l2_ctrl_mpeg2_slice_params {1137struct v4l2_ctrl_mpeg2_slice_params {
@@ -1142,6 +1146,7 @@ struct v4l2_ctrl_mpeg2_slice_params { · 8 unmodified lines
1142 1146
1143 __u8 backward_ref_index;1147 __u8 backward_ref_index;
1144 __u8 forward_ref_index;1148 __u8 forward_ref_index;
1149 __u8 pad;
1145};1150};
1146 1151
1147struct v4l2_ctrl_mpeg2_quantization {1152struct v4l2_ctrl_mpeg2_quantization {
include/uapi/linux/virtio_balloon.h+8−0
@@ -34,15 +34,23 @@ · 33 unmodified lines
34#define VIRTIO_BALLOON_F_MUST_TELL_HOST 0 /* Tell before reclaiming pages */34#define VIRTIO_BALLOON_F_MUST_TELL_HOST 0 /* Tell before reclaiming pages */
35#define VIRTIO_BALLOON_F_STATS_VQ 1 /* Memory Stats virtqueue */35#define VIRTIO_BALLOON_F_STATS_VQ 1 /* Memory Stats virtqueue */
36#define VIRTIO_BALLOON_F_DEFLATE_ON_OOM 2 /* Deflate balloon on OOM */36#define VIRTIO_BALLOON_F_DEFLATE_ON_OOM 2 /* Deflate balloon on OOM */
37#define VIRTIO_BALLOON_F_FREE_PAGE_HINT 3 /* VQ to report free pages */
38#define VIRTIO_BALLOON_F_PAGE_POISON 4 /* Guest is using page poisoning */
37 39
38/* Size of a PFN in the balloon interface. */40/* Size of a PFN in the balloon interface. */
39#define VIRTIO_BALLOON_PFN_SHIFT 1241#define VIRTIO_BALLOON_PFN_SHIFT 12
40 42
43#define VIRTIO_BALLOON_CMD_ID_STOP 0
44#define VIRTIO_BALLOON_CMD_ID_DONE 1
41struct virtio_balloon_config {45struct virtio_balloon_config {
42 /* Number of pages host wants Guest to give up. */46 /* Number of pages host wants Guest to give up. */
43 __u32 num_pages;47 __u32 num_pages;
44 /* Number of pages we've actually got in balloon. */48 /* Number of pages we've actually got in balloon. */
45 __u32 actual;49 __u32 actual;
50 /* Free page report command id, readonly by guest */
51 __u32 free_page_report_cmd_id;
52 /* Stores PAGE_POISON if page poisoning is in use */
53 __u32 poison_val;
46};54};
47 55
48#define VIRTIO_BALLOON_S_SWAP_IN 0 /* Amount of memory swapped in */56#define VIRTIO_BALLOON_S_SWAP_IN 0 /* Amount of memory swapped in */