History

Merge tag 'v5.7-rc6' into rdma.git for-next

Linux 5.7-rc6 Conflict in drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c resolved by deleting dr_cq_event, matching how netdev resolved it. Required for dependencies in the following patches.

Jason Gunthorpe committed 6 years ago

Commit eafd47f2 parents 0ad45e5 b9bbe6e1441 files · +15317 −8130Browse files

Showing the changes to include/uapi (14 of 1441 files). Show all

Unified · Split

14 files
  1. include/uapi/drm/amdgpu_drm.h +4 −0
  2. include/uapi/linux/bpf.h +2 −2
  3. include/uapi/linux/btrfs.h +4 −6
  4. include/uapi/linux/dma-buf.h +6 −0
  5. include/uapi/linux/hyperv.h +2 −2
  6. include/uapi/linux/if_arcnet.h +3 −3
  7. include/uapi/linux/mmc/ioctl.h +1 −1
  8. include/uapi/linux/net_dropmon.h +2 −2
  9. include/uapi/linux/netfilter/nf_tables.h +2 −0
  10. include/uapi/linux/netfilter/xt_IDLETIMER.h +1 −0
  11. include/uapi/linux/netfilter_bridge/ebt_among.h +1 −1
  12. include/uapi/linux/usb/raw_gadget.h +95 −13
  13. include/uapi/linux/virtio_balloon.h +9 −2
  14. include/uapi/scsi/scsi_bsg_fc.h +1 −1
include/uapi/drm/amdgpu_drm.h+4−0
@@ -346,6 +346,10 @@ struct drm_amdgpu_gem_userptr { · 345 unmodified lines
346#define AMDGPU_TILING_DCC_PITCH_MAX_MASK 0x3FFF346#define AMDGPU_TILING_DCC_PITCH_MAX_MASK 0x3FFF
347#define AMDGPU_TILING_DCC_INDEPENDENT_64B_SHIFT 43347#define AMDGPU_TILING_DCC_INDEPENDENT_64B_SHIFT 43
348#define AMDGPU_TILING_DCC_INDEPENDENT_64B_MASK 0x1348#define AMDGPU_TILING_DCC_INDEPENDENT_64B_MASK 0x1
349#define AMDGPU_TILING_DCC_INDEPENDENT_128B_SHIFT 44
350#define AMDGPU_TILING_DCC_INDEPENDENT_128B_MASK 0x1
351#define AMDGPU_TILING_SCANOUT_SHIFT 63
352#define AMDGPU_TILING_SCANOUT_MASK 0x1
349 353
350/* Set/Get helpers for tiling flags. */354/* Set/Get helpers for tiling flags. */
351#define AMDGPU_TILING_SET(field, value) \355#define AMDGPU_TILING_SET(field, value) \
include/uapi/linux/bpf.h+2−2
@@ -73,7 +73,7 @@ struct bpf_insn { · 72 unmodified lines
73/* Key of an a BPF_MAP_TYPE_LPM_TRIE entry */73/* Key of an a BPF_MAP_TYPE_LPM_TRIE entry */
74struct bpf_lpm_trie_key {74struct bpf_lpm_trie_key {
75 __u32 prefixlen; /* up to 32 for AF_INET, 128 for AF_INET6 */75 __u32 prefixlen; /* up to 32 for AF_INET, 128 for AF_INET6 */
76 __u8 data[]; /* Arbitrary size */76 __u8 data[0]; /* Arbitrary size */
77};77};
78 78
79struct bpf_cgroup_storage_key {79struct bpf_cgroup_storage_key {
@@ -1642,7 +1642,7 @@ union bpf_attr { · 1562 unmodified lines
1642 * ifindex, but doesn't require a map to do so.1642 * ifindex, but doesn't require a map to do so.
1643 * Return1643 * Return
1644 * **XDP_REDIRECT** on success, or the value of the two lower bits1644 * **XDP_REDIRECT** on success, or the value of the two lower bits
1645 * of the **flags* argument on error.1645 * of the *flags* argument on error.
1646 *1646 *
1647 * int bpf_sk_redirect_map(struct sk_buff *skb, struct bpf_map *map, u32 key, u64 flags)1647 * int bpf_sk_redirect_map(struct sk_buff *skb, struct bpf_map *map, u32 key, u64 flags)
1648 * Description1648 * Description
include/uapi/linux/btrfs.h+4−6
@@ -36,12 +36,10 @@ struct btrfs_ioctl_vol_args { · 35 unmodified lines
36#define BTRFS_DEVICE_PATH_NAME_MAX 102436#define BTRFS_DEVICE_PATH_NAME_MAX 1024
37#define BTRFS_SUBVOL_NAME_MAX 403937#define BTRFS_SUBVOL_NAME_MAX 4039
38 38
39/*39#ifndef __KERNEL__
40 * Deprecated since 5.7:40/* Deprecated since 5.7 */
41 *41# define BTRFS_SUBVOL_CREATE_ASYNC (1ULL << 0)
42 * BTRFS_SUBVOL_CREATE_ASYNC (1ULL << 0)42#endif
43 */
44
45#define BTRFS_SUBVOL_RDONLY (1ULL << 1)43#define BTRFS_SUBVOL_RDONLY (1ULL << 1)
46#define BTRFS_SUBVOL_QGROUP_INHERIT (1ULL << 2)44#define BTRFS_SUBVOL_QGROUP_INHERIT (1ULL << 2)
47 45
include/uapi/linux/dma-buf.h+6−0
@@ -39,6 +39,12 @@ struct dma_buf_sync { · 38 unmodified lines
39 39
40#define DMA_BUF_BASE 'b'40#define DMA_BUF_BASE 'b'
41#define DMA_BUF_IOCTL_SYNC _IOW(DMA_BUF_BASE, 0, struct dma_buf_sync)41#define DMA_BUF_IOCTL_SYNC _IOW(DMA_BUF_BASE, 0, struct dma_buf_sync)
42
43/* 32/64bitness of this uapi was botched in android, there's no difference
44 * between them in actual uapi, they're just different numbers.
45 */
42#define DMA_BUF_SET_NAME _IOW(DMA_BUF_BASE, 1, const char *)46#define DMA_BUF_SET_NAME _IOW(DMA_BUF_BASE, 1, const char *)
47#define DMA_BUF_SET_NAME_A _IOW(DMA_BUF_BASE, 1, u32)
48#define DMA_BUF_SET_NAME_B _IOW(DMA_BUF_BASE, 1, u64)
43 49
44#endif50#endif
include/uapi/linux/hyperv.h+2−2
@@ -119,8 +119,8 @@ enum hv_fcopy_op { · 118 unmodified lines
119 119
120struct hv_fcopy_hdr {120struct hv_fcopy_hdr {
121 __u32 operation;121 __u32 operation;
122 uuid_le service_id0; /* currently unused */122 __u8 service_id0[16]; /* currently unused */
123 uuid_le service_id1; /* currently unused */123 __u8 service_id1[16]; /* currently unused */
124} __attribute__((packed));124} __attribute__((packed));
125 125
126#define OVER_WRITE 0x1126#define OVER_WRITE 0x1
include/uapi/linux/if_arcnet.h+3−3
@@ -60,7 +60,7 @@ struct arc_rfc1201 { · 59 unmodified lines
60 __u8 proto; /* protocol ID field - varies */60 __u8 proto; /* protocol ID field - varies */
61 __u8 split_flag; /* for use with split packets */61 __u8 split_flag; /* for use with split packets */
62 __be16 sequence; /* sequence number */62 __be16 sequence; /* sequence number */
63 __u8 payload[]; /* space remaining in packet (504 bytes)*/63 __u8 payload[0]; /* space remaining in packet (504 bytes)*/
64};64};
65#define RFC1201_HDR_SIZE 465#define RFC1201_HDR_SIZE 4
66 66
@@ -69,7 +69,7 @@ struct arc_rfc1201 { · 2 unmodified lines
69 */69 */
70struct arc_rfc1051 {70struct arc_rfc1051 {
71 __u8 proto; /* ARC_P_RFC1051_ARP/RFC1051_IP */71 __u8 proto; /* ARC_P_RFC1051_ARP/RFC1051_IP */
72 __u8 payload[]; /* 507 bytes */72 __u8 payload[0]; /* 507 bytes */
73};73};
74#define RFC1051_HDR_SIZE 174#define RFC1051_HDR_SIZE 1
75 75
@@ -80,7 +80,7 @@ struct arc_rfc1051 { · 4 unmodified lines
80struct arc_eth_encap {80struct arc_eth_encap {
81 __u8 proto; /* Always ARC_P_ETHER */81 __u8 proto; /* Always ARC_P_ETHER */
82 struct ethhdr eth; /* standard ethernet header (yuck!) */82 struct ethhdr eth; /* standard ethernet header (yuck!) */
83 __u8 payload[]; /* 493 bytes */83 __u8 payload[0]; /* 493 bytes */
84};84};
85#define ETH_ENCAP_HDR_SIZE 1485#define ETH_ENCAP_HDR_SIZE 14
86 86
include/uapi/linux/mmc/ioctl.h+1−1
@@ -57,7 +57,7 @@ struct mmc_ioc_cmd { · 56 unmodified lines
57 */57 */
58struct mmc_ioc_multi_cmd {58struct mmc_ioc_multi_cmd {
59 __u64 num_of_cmds;59 __u64 num_of_cmds;
60 struct mmc_ioc_cmd cmds[];60 struct mmc_ioc_cmd cmds[0];
61};61};
62 62
63#define MMC_IOC_CMD _IOWR(MMC_BLOCK_MAJOR, 0, struct mmc_ioc_cmd)63#define MMC_IOC_CMD _IOWR(MMC_BLOCK_MAJOR, 0, struct mmc_ioc_cmd)
include/uapi/linux/net_dropmon.h+2−2
@@ -29,12 +29,12 @@ struct net_dm_config_entry { · 28 unmodified lines
29 29
30struct net_dm_config_msg {30struct net_dm_config_msg {
31 __u32 entries;31 __u32 entries;
32 struct net_dm_config_entry options[];32 struct net_dm_config_entry options[0];
33};33};
34 34
35struct net_dm_alert_msg {35struct net_dm_alert_msg {
36 __u32 entries;36 __u32 entries;
37 struct net_dm_drop_point points[];37 struct net_dm_drop_point points[0];
38};38};
39 39
40struct net_dm_user_msg {40struct net_dm_user_msg {
include/uapi/linux/netfilter/nf_tables.h+2−0
@@ -276,6 +276,7 @@ enum nft_rule_compat_attributes { · 275 unmodified lines
276 * @NFT_SET_TIMEOUT: set uses timeouts276 * @NFT_SET_TIMEOUT: set uses timeouts
277 * @NFT_SET_EVAL: set can be updated from the evaluation path277 * @NFT_SET_EVAL: set can be updated from the evaluation path
278 * @NFT_SET_OBJECT: set contains stateful objects278 * @NFT_SET_OBJECT: set contains stateful objects
279 * @NFT_SET_CONCAT: set contains a concatenation
279 */280 */
280enum nft_set_flags {281enum nft_set_flags {
281 NFT_SET_ANONYMOUS = 0x1,282 NFT_SET_ANONYMOUS = 0x1,
@@ -285,6 +286,7 @@ enum nft_set_flags { · 3 unmodified lines
285 NFT_SET_TIMEOUT = 0x10,286 NFT_SET_TIMEOUT = 0x10,
286 NFT_SET_EVAL = 0x20,287 NFT_SET_EVAL = 0x20,
287 NFT_SET_OBJECT = 0x40,288 NFT_SET_OBJECT = 0x40,
289 NFT_SET_CONCAT = 0x80,
288};290};
289 291
290/**292/**
include/uapi/linux/netfilter/xt_IDLETIMER.h+1−0
@@ -48,6 +48,7 @@ struct idletimer_tg_info_v1 { · 47 unmodified lines
48 48
49 char label[MAX_IDLETIMER_LABEL_SIZE];49 char label[MAX_IDLETIMER_LABEL_SIZE];
50 50
51 __u8 send_nl_msg; /* unused: for compatibility with Android */
51 __u8 timer_type;52 __u8 timer_type;
52 53
53 /* for kernel module internal use only */54 /* for kernel module internal use only */
include/uapi/linux/netfilter_bridge/ebt_among.h+1−1
@@ -40,7 +40,7 @@ struct ebt_mac_wormhash_tuple { · 39 unmodified lines
40struct ebt_mac_wormhash {40struct ebt_mac_wormhash {
41 int table[257];41 int table[257];
42 int poolsize;42 int poolsize;
43 struct ebt_mac_wormhash_tuple pool[];43 struct ebt_mac_wormhash_tuple pool[0];
44};44};
45 45
46#define ebt_mac_wormhash_size(x) ((x) ? sizeof(struct ebt_mac_wormhash) \46#define ebt_mac_wormhash_size(x) ((x) ? sizeof(struct ebt_mac_wormhash) \
include/uapi/linux/usb/raw_gadget.h+95−13
@@ -93,6 +93,64 @@ struct usb_raw_ep_io { · 92 unmodified lines
93 __u8 data[0];93 __u8 data[0];
94};94};
95 95
96/* Maximum number of non-control endpoints in struct usb_raw_eps_info. */
97#define USB_RAW_EPS_NUM_MAX 30
98
99/* Maximum length of UDC endpoint name in struct usb_raw_ep_info. */
100#define USB_RAW_EP_NAME_MAX 16
101
102/* Used as addr in struct usb_raw_ep_info if endpoint accepts any address. */
103#define USB_RAW_EP_ADDR_ANY 0xff
104
105/*
106 * struct usb_raw_ep_caps - exposes endpoint capabilities from struct usb_ep
107 * (technically from its member struct usb_ep_caps).
108 */
109struct usb_raw_ep_caps {
110 __u32 type_control : 1;
111 __u32 type_iso : 1;
112 __u32 type_bulk : 1;
113 __u32 type_int : 1;
114 __u32 dir_in : 1;
115 __u32 dir_out : 1;
116};
117
118/*
119 * struct usb_raw_ep_limits - exposes endpoint limits from struct usb_ep.
120 * @maxpacket_limit: Maximum packet size value supported by this endpoint.
121 * @max_streams: maximum number of streams supported by this endpoint
122 * (actual number is 2^n).
123 * @reserved: Empty, reserved for potential future extensions.
124 */
125struct usb_raw_ep_limits {
126 __u16 maxpacket_limit;
127 __u16 max_streams;
128 __u32 reserved;
129};
130
131/*
132 * struct usb_raw_ep_info - stores information about a gadget endpoint.
133 * @name: Name of the endpoint as it is defined in the UDC driver.
134 * @addr: Address of the endpoint that must be specified in the endpoint
135 * descriptor passed to USB_RAW_IOCTL_EP_ENABLE ioctl.
136 * @caps: Endpoint capabilities.
137 * @limits: Endpoint limits.
138 */
139struct usb_raw_ep_info {
140 __u8 name[USB_RAW_EP_NAME_MAX];
141 __u32 addr;
142 struct usb_raw_ep_caps caps;
143 struct usb_raw_ep_limits limits;
144};
145
146/*
147 * struct usb_raw_eps_info - argument for USB_RAW_IOCTL_EPS_INFO ioctl.
148 * eps: Structures that store information about non-control endpoints.
149 */
150struct usb_raw_eps_info {
151 struct usb_raw_ep_info eps[USB_RAW_EPS_NUM_MAX];
152};
153
96/*154/*
97 * Initializes a Raw Gadget instance.155 * Initializes a Raw Gadget instance.
98 * Accepts a pointer to the usb_raw_init struct as an argument.156 * Accepts a pointer to the usb_raw_init struct as an argument.
@@ -115,37 +173,38 @@ struct usb_raw_ep_io { · 16 unmodified lines
115#define USB_RAW_IOCTL_EVENT_FETCH _IOR('U', 2, struct usb_raw_event)173#define USB_RAW_IOCTL_EVENT_FETCH _IOR('U', 2, struct usb_raw_event)
116 174
117/*175/*
118 * Queues an IN (OUT for READ) urb as a response to the last control request176 * Queues an IN (OUT for READ) request as a response to the last setup request
119 * received on endpoint 0, provided that was an IN (OUT for READ) request and177 * received on endpoint 0 (provided that was an IN (OUT for READ) request), and
120 * waits until the urb is completed. Copies received data to user for READ.178 * waits until the request is completed. Copies received data to user for READ.
121 * Accepts a pointer to the usb_raw_ep_io struct as an argument.179 * Accepts a pointer to the usb_raw_ep_io struct as an argument.
122 * Returns length of trasferred data on success or negative error code on180 * Returns length of transferred data on success or negative error code on
123 * failure.181 * failure.
124 */182 */
125#define USB_RAW_IOCTL_EP0_WRITE _IOW('U', 3, struct usb_raw_ep_io)183#define USB_RAW_IOCTL_EP0_WRITE _IOW('U', 3, struct usb_raw_ep_io)
126#define USB_RAW_IOCTL_EP0_READ _IOWR('U', 4, struct usb_raw_ep_io)184#define USB_RAW_IOCTL_EP0_READ _IOWR('U', 4, struct usb_raw_ep_io)
127 185
128/*186/*
129 * Finds an endpoint that supports the transfer type specified in the187 * Finds an endpoint that satisfies the parameters specified in the provided
130 * descriptor and enables it.188 * descriptors (address, transfer type, etc.) and enables it.
131 * Accepts a pointer to the usb_endpoint_descriptor struct as an argument.189 * Accepts a pointer to the usb_raw_ep_descs struct as an argument.
132 * Returns enabled endpoint handle on success or negative error code on failure.190 * Returns enabled endpoint handle on success or negative error code on failure.
133 */191 */
134#define USB_RAW_IOCTL_EP_ENABLE _IOW('U', 5, struct usb_endpoint_descriptor)192#define USB_RAW_IOCTL_EP_ENABLE _IOW('U', 5, struct usb_endpoint_descriptor)
135 193
136/* Disables specified endpoint.194/*
195 * Disables specified endpoint.
137 * Accepts endpoint handle as an argument.196 * Accepts endpoint handle as an argument.
138 * Returns 0 on success or negative error code on failure.197 * Returns 0 on success or negative error code on failure.
139 */198 */
140#define USB_RAW_IOCTL_EP_DISABLE _IOW('U', 6, __u32)199#define USB_RAW_IOCTL_EP_DISABLE _IOW('U', 6, __u32)
141 200
142/*201/*
143 * Queues an IN (OUT for READ) urb as a response to the last control request202 * Queues an IN (OUT for READ) request as a response to the last setup request
144 * received on endpoint usb_raw_ep_io.ep, provided that was an IN (OUT for READ)203 * received on endpoint usb_raw_ep_io.ep (provided that was an IN (OUT for READ)
145 * request and waits until the urb is completed. Copies received data to user204 * request), and waits until the request is completed. Copies received data to
146 * for READ.205 * user for READ.
147 * Accepts a pointer to the usb_raw_ep_io struct as an argument.206 * Accepts a pointer to the usb_raw_ep_io struct as an argument.
148 * Returns length of trasferred data on success or negative error code on207 * Returns length of transferred data on success or negative error code on
149 * failure.208 * failure.
150 */209 */
151#define USB_RAW_IOCTL_EP_WRITE _IOW('U', 7, struct usb_raw_ep_io)210#define USB_RAW_IOCTL_EP_WRITE _IOW('U', 7, struct usb_raw_ep_io)
@@ -164,4 +223,27 @@ struct usb_raw_ep_io { · 12 unmodified lines
164 */223 */
165#define USB_RAW_IOCTL_VBUS_DRAW _IOW('U', 10, __u32)224#define USB_RAW_IOCTL_VBUS_DRAW _IOW('U', 10, __u32)
166 225
226/*
227 * Fills in the usb_raw_eps_info structure with information about non-control
228 * endpoints available for the currently connected UDC.
229 * Returns the number of available endpoints on success or negative error code
230 * on failure.
231 */
232#define USB_RAW_IOCTL_EPS_INFO _IOR('U', 11, struct usb_raw_eps_info)
233
234/*
235 * Stalls a pending control request on endpoint 0.
236 * Returns 0 on success or negative error code on failure.
237 */
238#define USB_RAW_IOCTL_EP0_STALL _IO('U', 12)
239
240/*
241 * Sets or clears halt or wedge status of the endpoint.
242 * Accepts endpoint handle as an argument.
243 * Returns 0 on success or negative error code on failure.
244 */
245#define USB_RAW_IOCTL_EP_SET_HALT _IOW('U', 13, __u32)
246#define USB_RAW_IOCTL_EP_CLEAR_HALT _IOW('U', 14, __u32)
247#define USB_RAW_IOCTL_EP_SET_WEDGE _IOW('U', 15, __u32)
248
167#endif /* _UAPI__LINUX_USB_RAW_GADGET_H */249#endif /* _UAPI__LINUX_USB_RAW_GADGET_H */
include/uapi/linux/virtio_balloon.h+9−2
@@ -48,8 +48,15 @@ struct virtio_balloon_config { · 47 unmodified lines
48 __u32 num_pages;48 __u32 num_pages;
49 /* Number of pages we've actually got in balloon. */49 /* Number of pages we've actually got in balloon. */
50 __u32 actual;50 __u32 actual;
51 /* Free page report command id, readonly by guest */51 /*
52 __u32 free_page_report_cmd_id;52 * Free page hint command id, readonly by guest.
53 * Was previously named free_page_report_cmd_id so we
54 * need to carry that name for legacy support.
55 */
56 union {
57 __u32 free_page_hint_cmd_id;
58 __u32 free_page_report_cmd_id; /* deprecated */
59 };
53 /* Stores PAGE_POISON if page poisoning is in use */60 /* Stores PAGE_POISON if page poisoning is in use */
54 __u32 poison_val;61 __u32 poison_val;
55};62};
include/uapi/scsi/scsi_bsg_fc.h+1−1
@@ -209,7 +209,7 @@ struct fc_bsg_host_vendor { · 208 unmodified lines
209 __u64 vendor_id;209 __u64 vendor_id;
210 210
211 /* start of vendor command area */211 /* start of vendor command area */
212 __u32 vendor_cmd[];212 __u32 vendor_cmd[0];
213};213};
214 214
215/* Response:215/* Response: