History

Merge branch 'drm-next-merged' of git://people.freedesktop.org/~airlied/linux into v4l_for_linus

* 'drm-next-merged' of git://people.freedesktop.org/~airlied/linux: (9717 commits) media-bus: Fixup RGB444_1X12, RGB565_1X16, and YUV8_1X24 media bus format hexdump: avoid warning in test function fs: take i_mutex during prepare_binprm for set[ug]id executables smp: Fix error case handling in smp_call_function_*() iommu-common: Fix PARISC compile-time warnings sparc: Make LDC use common iommu poll management functions sparc: Make sparc64 use scalable lib/iommu-common.c functions Break up monolithic iommu table/lock into finer graularity pools and lock sparc: Revert generic IOMMU allocator. tools/power turbostat: correct dumped pkg-cstate-limit value tools/power turbostat: calculate TSC frequency from CPUID(0x15) on SKL tools/power turbostat: correct DRAM RAPL units on recent Xeon processors tools/power turbostat: Initial Skylake support tools/power turbostat: Use $(CURDIR) instead of $(PWD) and add support for O= option in Makefile tools/power turbostat: modprobe msr, if needed tools/power turbostat: dump MSR_TURBO_RATIO_LIMIT2 tools/power turbostat: use new MSR_TURBO_RATIO_LIMIT names Bluetooth: hidp: Fix regression with older userspace and flags validation config: Enable NEED_DMA_MAP_STATE by default when SWIOTLB is selected perf/x86/intel/pt: Fix and clean up error handling in pt_event_add() ... That solves several merge conflicts: Documentation/DocBook/media/v4l/subdev-formats.xml Documentation/devicetree/bindings/vendor-prefixes.txt drivers/staging/media/mn88473/mn88473.c include/linux/kconfig.h include/uapi/linux/media-bus-format.h The ones at subdev-formats.xml and media-bus-format.h are not trivial. That's why we opted to merge from DRM.

Mauro Carvalho Chehab committed 11 years ago

Commit 64131a82 parents 676ee36 2c33ce07787 files · +316308 −156694Browse files

Showing the changes to include/uapi/linux (38 of 7787 files). Show all

Unified · Split

38 files
  1. include/uapi/linux/Kbuild +1 −0
  2. include/uapi/linux/bpf.h +63 −0
  3. include/uapi/linux/can/raw.h +1 −0
  4. include/uapi/linux/dcbnl.h +66 −0
  5. include/uapi/linux/dm-ioctl.h +2 −2
  6. include/uapi/linux/filter.h +7 −3
  7. include/uapi/linux/fou.h +1 −0
  8. include/uapi/linux/hsi/Kbuild +1 −1
  9. include/uapi/linux/hsi/cs-protocol.h +113 −0
  10. include/uapi/linux/if_addr.h +2 −0
  11. include/uapi/linux/if_link.h +14 −0
  12. include/uapi/linux/if_packet.h +1 −0
  13. include/uapi/linux/iio/Kbuild +3 −0
  14. include/uapi/linux/iio/events.h +42 −0
  15. include/uapi/linux/iio/types.h +92 −0
  16. include/uapi/linux/input.h +8 −2
  17. include/uapi/linux/ip_vs.h +6 −1
  18. include/uapi/linux/ipv6.h +1 −0
  19. include/uapi/linux/kvm.h +64 −1
  20. include/uapi/linux/magic.h +2 −0
  21. include/uapi/linux/media-bus-format.h +11 −2
  22. include/uapi/linux/neighbour.h +1 −0
  23. include/uapi/linux/netfilter/nf_tables.h +79 −1
  24. include/uapi/linux/netfilter_bridge/ebtables.h +0 −2
  25. include/uapi/linux/nfsd/export.h +1 −1
  26. include/uapi/linux/nl80211.h +31 −3
  27. include/uapi/linux/perf_event.h +98 −17
  28. include/uapi/linux/pkt_cls.h +2 −0
  29. include/uapi/linux/quota.h +4 −2
  30. include/uapi/linux/rtnetlink.h +16 −0
  31. include/uapi/linux/serial.h +4 −0
  32. include/uapi/linux/tc_act/Kbuild +1 −0
  33. include/uapi/linux/tc_act/tc_bpf.h +2 −0
  34. include/uapi/linux/tipc_netlink.h +9 −0
  35. include/uapi/linux/vfio.h +2 −0
  36. include/uapi/linux/virtio_blk.h +6 −2
  37. include/uapi/linux/virtio_scsi.h +10 −2
  38. include/uapi/linux/xfrm.h +2 −0
include/uapi/linux/Kbuild+1−0
@@ -6,6 +6,7 @@ header-y += caif/ · 5 unmodified lines
66 header-y += dvb/
77 header-y += hdlc/
88 header-y += hsi/
9+header-y += iio/
910 header-y += isdn/
1011 header-y += mmc/
1112 header-y += nfsd/
include/uapi/linux/bpf.h+63−0
@@ -118,8 +118,13 @@ enum bpf_map_type { · 117 unmodified lines
118118 enum bpf_prog_type {
119119 BPF_PROG_TYPE_UNSPEC,
120120 BPF_PROG_TYPE_SOCKET_FILTER,
121+ BPF_PROG_TYPE_KPROBE,
122+ BPF_PROG_TYPE_SCHED_CLS,
123+ BPF_PROG_TYPE_SCHED_ACT,
121124 };
122125
126+#define BPF_PSEUDO_MAP_FD 1
127+
123128 /* flags for BPF_MAP_UPDATE_ELEM command */
124129 #define BPF_ANY 0 /* create new element or update existing */
125130 #define BPF_NOEXIST 1 /* create new element if it didn't exist */
@@ -151,6 +156,7 @@ union bpf_attr { · 25 unmodified lines
151156 __u32 log_level; /* verbosity level of verifier */
152157 __u32 log_size; /* size of user buffer */
153158 __aligned_u64 log_buf; /* user supplied buffer */
159+ __u32 kern_version; /* checked when prog_type=kprobe */
154160 };
155161 } __attribute__((aligned(8)));
156162
@@ -162,7 +168,64 @@ enum bpf_func_id { · 5 unmodified lines
162168 BPF_FUNC_map_lookup_elem, /* void *map_lookup_elem(&map, &key) */
163169 BPF_FUNC_map_update_elem, /* int map_update_elem(&map, &key, &value, flags) */
164170 BPF_FUNC_map_delete_elem, /* int map_delete_elem(&map, &key) */
171+ BPF_FUNC_probe_read, /* int bpf_probe_read(void *dst, int size, void *src) */
172+ BPF_FUNC_ktime_get_ns, /* u64 bpf_ktime_get_ns(void) */
173+ BPF_FUNC_trace_printk, /* int bpf_trace_printk(const char *fmt, int fmt_size, ...) */
174+ BPF_FUNC_get_prandom_u32, /* u32 prandom_u32(void) */
175+ BPF_FUNC_get_smp_processor_id, /* u32 raw_smp_processor_id(void) */
176+
177+ /**
178+ * skb_store_bytes(skb, offset, from, len, flags) - store bytes into packet
179+ * @skb: pointer to skb
180+ * @offset: offset within packet from skb->mac_header
181+ * @from: pointer where to copy bytes from
182+ * @len: number of bytes to store into packet
183+ * @flags: bit 0 - if true, recompute skb->csum
184+ * other bits - reserved
185+ * Return: 0 on success
186+ */
187+ BPF_FUNC_skb_store_bytes,
188+
189+ /**
190+ * l3_csum_replace(skb, offset, from, to, flags) - recompute IP checksum
191+ * @skb: pointer to skb
192+ * @offset: offset within packet where IP checksum is located
193+ * @from: old value of header field
194+ * @to: new value of header field
195+ * @flags: bits 0-3 - size of header field
196+ * other bits - reserved
197+ * Return: 0 on success
198+ */
199+ BPF_FUNC_l3_csum_replace,
200+
201+ /**
202+ * l4_csum_replace(skb, offset, from, to, flags) - recompute TCP/UDP checksum
203+ * @skb: pointer to skb
204+ * @offset: offset within packet where TCP/UDP checksum is located
205+ * @from: old value of header field
206+ * @to: new value of header field
207+ * @flags: bits 0-3 - size of header field
208+ * bit 4 - is pseudo header
209+ * other bits - reserved
210+ * Return: 0 on success
211+ */
212+ BPF_FUNC_l4_csum_replace,
165213 __BPF_FUNC_MAX_ID,
166214 };
167215
216+/* user accessible mirror of in-kernel sk_buff.
217+ * new fields can only be added to the end of this structure
218+ */
219+struct __sk_buff {
220+ __u32 len;
221+ __u32 pkt_type;
222+ __u32 mark;
223+ __u32 queue_mapping;
224+ __u32 protocol;
225+ __u32 vlan_present;
226+ __u32 vlan_tci;
227+ __u32 vlan_proto;
228+ __u32 priority;
229+};
230+
168231 #endif /* _UAPI__LINUX_BPF_H__ */
include/uapi/linux/can/raw.h+1−0
@@ -57,6 +57,7 @@ enum { · 56 unmodified lines
5757 CAN_RAW_LOOPBACK, /* local loopback (default:on) */
5858 CAN_RAW_RECV_OWN_MSGS, /* receive my own msgs (default:off) */
5959 CAN_RAW_FD_FRAMES, /* allow CAN FD frames (default:off) */
60+ CAN_RAW_JOIN_FILTERS, /* all filters must match to trigger */
6061 };
6162
6263 #endif /* !_UAPI_CAN_RAW_H */
include/uapi/linux/dcbnl.h+66−0
@@ -78,6 +78,70 @@ struct ieee_maxrate { · 77 unmodified lines
7878 __u64 tc_maxrate[IEEE_8021QAZ_MAX_TCS];
7979 };
8080
81+enum dcbnl_cndd_states {
82+ DCB_CNDD_RESET = 0,
83+ DCB_CNDD_EDGE,
84+ DCB_CNDD_INTERIOR,
85+ DCB_CNDD_INTERIOR_READY,
86+};
87+
88+/* This structure contains the IEEE 802.1Qau QCN managed object.
89+ *
90+ *@rpg_enable: enable QCN RP
91+ *@rppp_max_rps: maximum number of RPs allowed for this CNPV on this port
92+ *@rpg_time_reset: time between rate increases if no CNMs received.
93+ * given in u-seconds
94+ *@rpg_byte_reset: transmitted data between rate increases if no CNMs received.
95+ * given in Bytes
96+ *@rpg_threshold: The number of times rpByteStage or rpTimeStage can count
97+ * before RP rate control state machine advances states
98+ *@rpg_max_rate: the maxinun rate, in Mbits per second,
99+ * at which an RP can transmit
100+ *@rpg_ai_rate: The rate, in Mbits per second,
101+ * used to increase rpTargetRate in the RPR_ACTIVE_INCREASE
102+ *@rpg_hai_rate: The rate, in Mbits per second,
103+ * used to increase rpTargetRate in the RPR_HYPER_INCREASE state
104+ *@rpg_gd: Upon CNM receive, flow rate is limited to (Fb/Gd)*CurrentRate.
105+ * rpgGd is given as log2(Gd), where Gd may only be powers of 2
106+ *@rpg_min_dec_fac: The minimum factor by which the current transmit rate
107+ * can be changed by reception of a CNM.
108+ * value is given as percentage (1-100)
109+ *@rpg_min_rate: The minimum value, in bits per second, for rate to limit
110+ *@cndd_state_machine: The state of the congestion notification domain
111+ * defense state machine, as defined by IEEE 802.3Qau
112+ * section 32.1.1. In the interior ready state,
113+ * the QCN capable hardware may add CN-TAG TLV to the
114+ * outgoing traffic, to specifically identify outgoing
115+ * flows.
116+ */
117+
118+struct ieee_qcn {
119+ __u8 rpg_enable[IEEE_8021QAZ_MAX_TCS];
120+ __u32 rppp_max_rps[IEEE_8021QAZ_MAX_TCS];
121+ __u32 rpg_time_reset[IEEE_8021QAZ_MAX_TCS];
122+ __u32 rpg_byte_reset[IEEE_8021QAZ_MAX_TCS];
123+ __u32 rpg_threshold[IEEE_8021QAZ_MAX_TCS];
124+ __u32 rpg_max_rate[IEEE_8021QAZ_MAX_TCS];
125+ __u32 rpg_ai_rate[IEEE_8021QAZ_MAX_TCS];
126+ __u32 rpg_hai_rate[IEEE_8021QAZ_MAX_TCS];
127+ __u32 rpg_gd[IEEE_8021QAZ_MAX_TCS];
128+ __u32 rpg_min_dec_fac[IEEE_8021QAZ_MAX_TCS];
129+ __u32 rpg_min_rate[IEEE_8021QAZ_MAX_TCS];
130+ __u32 cndd_state_machine[IEEE_8021QAZ_MAX_TCS];
131+};
132+
133+/* This structure contains the IEEE 802.1Qau QCN statistics.
134+ *
135+ *@rppp_rp_centiseconds: the number of RP-centiseconds accumulated
136+ * by RPs at this priority level on this Port
137+ *@rppp_created_rps: number of active RPs(flows) that react to CNMs
138+ */
139+
140+struct ieee_qcn_stats {
141+ __u64 rppp_rp_centiseconds[IEEE_8021QAZ_MAX_TCS];
142+ __u32 rppp_created_rps[IEEE_8021QAZ_MAX_TCS];
143+};
144+
81145 /* This structure contains the IEEE 802.1Qaz PFC managed object
82146 *
83147 * @pfc_cap: Indicates the number of traffic classes on the local device
@@ -334,6 +398,8 @@ enum ieee_attrs { · 250 unmodified lines
334398 DCB_ATTR_IEEE_PEER_PFC,
335399 DCB_ATTR_IEEE_PEER_APP,
336400 DCB_ATTR_IEEE_MAXRATE,
401+ DCB_ATTR_IEEE_QCN,
402+ DCB_ATTR_IEEE_QCN_STATS,
337403 __DCB_ATTR_IEEE_MAX
338404 };
339405 #define DCB_ATTR_IEEE_MAX (__DCB_ATTR_IEEE_MAX - 1)
include/uapi/linux/dm-ioctl.h+2−2
@@ -267,9 +267,9 @@ enum { · 266 unmodified lines
267267 #define DM_DEV_SET_GEOMETRY _IOWR(DM_IOCTL, DM_DEV_SET_GEOMETRY_CMD, struct dm_ioctl)
268268
269269 #define DM_VERSION_MAJOR 4
270−#define DM_VERSION_MINOR 30
270+#define DM_VERSION_MINOR 31
271271 #define DM_VERSION_PATCHLEVEL 0
272−#define DM_VERSION_EXTRA "-ioctl (2014-12-22)"
272+#define DM_VERSION_EXTRA "-ioctl (2015-3-12)"
273273
274274 /* Status bits */
275275 #define DM_READONLY_FLAG (1 << 0) /* In/Out */
include/uapi/linux/filter.h+7−3
@@ -77,9 +77,13 @@ struct sock_fprog { /* Required for SO_ATTACH_FILTER. */ · 76 unmodified lines
7777 #define SKF_AD_VLAN_TAG_PRESENT 48
7878 #define SKF_AD_PAY_OFFSET 52
7979 #define SKF_AD_RANDOM 56
80−#define SKF_AD_MAX 60
81−#define SKF_NET_OFF (-0x100000)
82−#define SKF_LL_OFF (-0x200000)
80+#define SKF_AD_VLAN_TPID 60
81+#define SKF_AD_MAX 64
8382
83+#define SKF_NET_OFF (-0x100000)
84+#define SKF_LL_OFF (-0x200000)
85+
86+#define BPF_NET_OFF SKF_NET_OFF
87+#define BPF_LL_OFF SKF_LL_OFF
8488
8589 #endif /* _UAPI__LINUX_FILTER_H__ */
include/uapi/linux/fou.h+1−0
@@ -25,6 +25,7 @@ enum { · 24 unmodified lines
2525 FOU_CMD_UNSPEC,
2626 FOU_CMD_ADD,
2727 FOU_CMD_DEL,
28+ FOU_CMD_GET,
2829
2930 __FOU_CMD_MAX,
3031 };
include/uapi/linux/hsi/Kbuild+1−1
@@ -1,2 +1,2 @@
11 # UAPI Header export list
2−header-y += hsi_char.h
2+header-y += hsi_char.h cs-protocol.h
include/uapi/linux/hsi/cs-protocol.h+113−0
@@ -0,0 +1,113 @@
1+/*
2+ * cmt-speech interface definitions
3+ *
4+ * Copyright (C) 2008,2009,2010 Nokia Corporation. All rights reserved.
5+ *
6+ * Contact: Kai Vehmanen <kai.vehmanen@nokia.com>
7+ * Original author: Peter Ujfalusi <peter.ujfalusi@nokia.com>
8+ *
9+ * This program is free software; you can redistribute it and/or
10+ * modify it under the terms of the GNU General Public License
11+ * version 2 as published by the Free Software Foundation.
12+ *
13+ * This program is distributed in the hope that it will be useful, but
14+ * WITHOUT ANY WARRANTY; without even the implied warranty of
15+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16+ * General Public License for more details.
17+ *
18+ * You should have received a copy of the GNU General Public License
19+ * along with this program; if not, write to the Free Software
20+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
21+ * 02110-1301 USA
22+ */
23+
24+#ifndef _CS_PROTOCOL_H
25+#define _CS_PROTOCOL_H
26+
27+#include <linux/types.h>
28+#include <linux/ioctl.h>
29+
30+/* chardev parameters */
31+#define CS_DEV_FILE_NAME "/dev/cmt_speech"
32+
33+/* user-space API versioning */
34+#define CS_IF_VERSION 2
35+
36+/* APE kernel <-> user space messages */
37+#define CS_CMD_SHIFT 28
38+#define CS_DOMAIN_SHIFT 24
39+
40+#define CS_CMD_MASK 0xff000000
41+#define CS_PARAM_MASK 0xffffff
42+
43+#define CS_CMD(id, dom) \
44+ (((id) << CS_CMD_SHIFT) | ((dom) << CS_DOMAIN_SHIFT))
45+
46+#define CS_ERROR CS_CMD(1, 0)
47+#define CS_RX_DATA_RECEIVED CS_CMD(2, 0)
48+#define CS_TX_DATA_READY CS_CMD(3, 0)
49+#define CS_TX_DATA_SENT CS_CMD(4, 0)
50+
51+/* params to CS_ERROR indication */
52+#define CS_ERR_PEER_RESET 0
53+
54+/* ioctl interface */
55+
56+/* parameters to CS_CONFIG_BUFS ioctl */
57+#define CS_FEAT_TSTAMP_RX_CTRL (1 << 0)
58+#define CS_FEAT_ROLLING_RX_COUNTER (2 << 0)
59+
60+/* parameters to CS_GET_STATE ioctl */
61+#define CS_STATE_CLOSED 0
62+#define CS_STATE_OPENED 1 /* resource allocated */
63+#define CS_STATE_CONFIGURED 2 /* data path active */
64+
65+/* maximum number of TX/RX buffers */
66+#define CS_MAX_BUFFERS_SHIFT 4
67+#define CS_MAX_BUFFERS (1 << CS_MAX_BUFFERS_SHIFT)
68+
69+/* Parameters for setting up the data buffers */
70+struct cs_buffer_config {
71+ __u32 rx_bufs; /* number of RX buffer slots */
72+ __u32 tx_bufs; /* number of TX buffer slots */
73+ __u32 buf_size; /* bytes */
74+ __u32 flags; /* see CS_FEAT_* */
75+ __u32 reserved[4];
76+};
77+
78+/*
79+ * Struct describing the layout and contents of the driver mmap area.
80+ * This information is meant as read-only information for the application.
81+ */
82+struct cs_mmap_config_block {
83+ __u32 reserved1;
84+ __u32 buf_size; /* 0=disabled, otherwise the transfer size */
85+ __u32 rx_bufs; /* # of RX buffers */
86+ __u32 tx_bufs; /* # of TX buffers */
87+ __u32 reserved2;
88+ /* array of offsets within the mmap area for each RX and TX buffer */
89+ __u32 rx_offsets[CS_MAX_BUFFERS];
90+ __u32 tx_offsets[CS_MAX_BUFFERS];
91+ __u32 rx_ptr;
92+ __u32 rx_ptr_boundary;
93+ __u32 reserved3[2];
94+ /*
95+ * if enabled with CS_FEAT_TSTAMP_RX_CTRL, monotonic
96+ * timestamp taken when the last control command was received
97+ */
98+ struct timespec tstamp_rx_ctrl;
99+};
100+
101+#define CS_IO_MAGIC 'C'
102+
103+#define CS_IOW(num, dtype) _IOW(CS_IO_MAGIC, num, dtype)
104+#define CS_IOR(num, dtype) _IOR(CS_IO_MAGIC, num, dtype)
105+#define CS_IOWR(num, dtype) _IOWR(CS_IO_MAGIC, num, dtype)
106+#define CS_IO(num) _IO(CS_IO_MAGIC, num)
107+
108+#define CS_GET_STATE CS_IOR(21, unsigned int)
109+#define CS_SET_WAKELINE CS_IOW(23, unsigned int)
110+#define CS_GET_IF_VERSION CS_IOR(30, unsigned int)
111+#define CS_CONFIG_BUFS CS_IOW(31, struct cs_buffer_config)
112+
113+#endif /* _CS_PROTOCOL_H */
include/uapi/linux/if_addr.h+2−0
@@ -50,6 +50,8 @@ enum { · 49 unmodified lines
5050 #define IFA_F_PERMANENT 0x80
5151 #define IFA_F_MANAGETEMPADDR 0x100
5252 #define IFA_F_NOPREFIXROUTE 0x200
53+#define IFA_F_MCAUTOJOIN 0x400
54+#define IFA_F_STABLE_PRIVACY 0x800
5355
5456 struct ifa_cacheinfo {
5557 __u32 ifa_prefered;
include/uapi/linux/if_link.h+14−0
@@ -147,6 +147,7 @@ enum { · 146 unmodified lines
147147 IFLA_CARRIER_CHANGES,
148148 IFLA_PHYS_SWITCH_ID,
149149 IFLA_LINK_NETNSID,
150+ IFLA_PHYS_PORT_NAME,
150151 __IFLA_MAX
151152 };
152153
@@ -215,6 +216,7 @@ enum { · 62 unmodified lines
215216 enum in6_addr_gen_mode {
216217 IN6_ADDR_GEN_MODE_EUI64,
217218 IN6_ADDR_GEN_MODE_NONE,
219+ IN6_ADDR_GEN_MODE_STABLE_PRIVACY,
218220 };
219221
220222 /* Bridge section */
@@ -224,6 +226,9 @@ enum { · 3 unmodified lines
224226 IFLA_BR_FORWARD_DELAY,
225227 IFLA_BR_HELLO_TIME,
226228 IFLA_BR_MAX_AGE,
229+ IFLA_BR_AGEING_TIME,
230+ IFLA_BR_STP_STATE,
231+ IFLA_BR_PRIORITY,
227232 __IFLA_BR_MAX,
228233 };
229234
@@ -247,6 +252,7 @@ enum { · 17 unmodified lines
247252 IFLA_BRPORT_UNICAST_FLOOD, /* flood unicast traffic */
248253 IFLA_BRPORT_PROXYARP, /* proxy ARP */
249254 IFLA_BRPORT_LEARNING_SYNC, /* mac learning sync from device */
255+ IFLA_BRPORT_PROXYARP_WIFI, /* proxy ARP for Wi-Fi */
250256 __IFLA_BRPORT_MAX
251257 };
252258 #define IFLA_BRPORT_MAX (__IFLA_BRPORT_MAX - 1)
@@ -459,6 +465,9 @@ enum { · 206 unmodified lines
459465 IFLA_VF_SPOOFCHK, /* Spoof Checking on/off switch */
460466 IFLA_VF_LINK_STATE, /* link state enable/disable/auto switch */
461467 IFLA_VF_RATE, /* Min and Max TX Bandwidth Allocation */
468+ IFLA_VF_RSS_QUERY_EN, /* RSS Redirection Table and Hash Key query
469+ * on/off switch
470+ */
462471 __IFLA_VF_MAX,
463472 };
464473
@@ -503,6 +512,11 @@ struct ifla_vf_link_state { · 38 unmodified lines
503512 __u32 link_state;
504513 };
505514
515+struct ifla_vf_rss_query_en {
516+ __u32 vf;
517+ __u32 setting;
518+};
519+
506520 /* VF ports management section
507521 *
508522 * Nested layout of set/get msg is:
include/uapi/linux/if_packet.h+1−0
@@ -99,6 +99,7 @@ struct tpacket_auxdata { · 98 unmodified lines
9999 #define TP_STATUS_VLAN_VALID (1 << 4) /* auxdata has valid tp_vlan_tci */
100100 #define TP_STATUS_BLK_TMO (1 << 5)
101101 #define TP_STATUS_VLAN_TPID_VALID (1 << 6) /* auxdata has valid tp_vlan_tpid */
102+#define TP_STATUS_CSUM_VALID (1 << 7)
102103
103104 /* Tx ring - header status */
104105 #define TP_STATUS_AVAILABLE 0
include/uapi/linux/iio/Kbuild+3−0
@@ -0,0 +1,3 @@
1+# UAPI Header export list
2+header-y += events.h
3+header-y += types.h
include/uapi/linux/iio/events.h+42−0
@@ -0,0 +1,42 @@
1+/* The industrial I/O - event passing to userspace
2+ *
3+ * Copyright (c) 2008-2011 Jonathan Cameron
4+ *
5+ * This program is free software; you can redistribute it and/or modify it
6+ * under the terms of the GNU General Public License version 2 as published by
7+ * the Free Software Foundation.
8+ */
9+#ifndef _UAPI_IIO_EVENTS_H_
10+#define _UAPI_IIO_EVENTS_H_
11+
12+#include <linux/ioctl.h>
13+#include <linux/types.h>
14+
15+/**
16+ * struct iio_event_data - The actual event being pushed to userspace
17+ * @id: event identifier
18+ * @timestamp: best estimate of time of event occurrence (often from
19+ * the interrupt handler)
20+ */
21+struct iio_event_data {
22+ __u64 id;
23+ __s64 timestamp;
24+};
25+
26+#define IIO_GET_EVENT_FD_IOCTL _IOR('i', 0x90, int)
27+
28+#define IIO_EVENT_CODE_EXTRACT_TYPE(mask) ((mask >> 56) & 0xFF)
29+
30+#define IIO_EVENT_CODE_EXTRACT_DIR(mask) ((mask >> 48) & 0x7F)
31+
32+#define IIO_EVENT_CODE_EXTRACT_CHAN_TYPE(mask) ((mask >> 32) & 0xFF)
33+
34+/* Event code number extraction depends on which type of event we have.
35+ * Perhaps review this function in the future*/
36+#define IIO_EVENT_CODE_EXTRACT_CHAN(mask) ((__s16)(mask & 0xFFFF))
37+#define IIO_EVENT_CODE_EXTRACT_CHAN2(mask) ((__s16)(((mask) >> 16) & 0xFFFF))
38+
39+#define IIO_EVENT_CODE_EXTRACT_MODIFIER(mask) ((mask >> 40) & 0xFF)
40+#define IIO_EVENT_CODE_EXTRACT_DIFF(mask) (((mask) >> 55) & 0x1)
41+
42+#endif /* _UAPI_IIO_EVENTS_H_ */
include/uapi/linux/iio/types.h+92−0
@@ -0,0 +1,92 @@
1+/* industrial I/O data types needed both in and out of kernel
2+ *
3+ * Copyright (c) 2008 Jonathan Cameron
4+ *
5+ * This program is free software; you can redistribute it and/or modify it
6+ * under the terms of the GNU General Public License version 2 as published by
7+ * the Free Software Foundation.
8+ */
9+
10+#ifndef _UAPI_IIO_TYPES_H_
11+#define _UAPI_IIO_TYPES_H_
12+
13+enum iio_chan_type {
14+ IIO_VOLTAGE,
15+ IIO_CURRENT,
16+ IIO_POWER,
17+ IIO_ACCEL,
18+ IIO_ANGL_VEL,
19+ IIO_MAGN,
20+ IIO_LIGHT,
21+ IIO_INTENSITY,
22+ IIO_PROXIMITY,
23+ IIO_TEMP,
24+ IIO_INCLI,
25+ IIO_ROT,
26+ IIO_ANGL,
27+ IIO_TIMESTAMP,
28+ IIO_CAPACITANCE,
29+ IIO_ALTVOLTAGE,
30+ IIO_CCT,
31+ IIO_PRESSURE,
32+ IIO_HUMIDITYRELATIVE,
33+ IIO_ACTIVITY,
34+ IIO_STEPS,
35+ IIO_ENERGY,
36+ IIO_DISTANCE,
37+ IIO_VELOCITY,
38+};
39+
40+enum iio_modifier {
41+ IIO_NO_MOD,
42+ IIO_MOD_X,
43+ IIO_MOD_Y,
44+ IIO_MOD_Z,
45+ IIO_MOD_X_AND_Y,
46+ IIO_MOD_X_AND_Z,
47+ IIO_MOD_Y_AND_Z,
48+ IIO_MOD_X_AND_Y_AND_Z,
49+ IIO_MOD_X_OR_Y,
50+ IIO_MOD_X_OR_Z,
51+ IIO_MOD_Y_OR_Z,
52+ IIO_MOD_X_OR_Y_OR_Z,
53+ IIO_MOD_LIGHT_BOTH,
54+ IIO_MOD_LIGHT_IR,
55+ IIO_MOD_ROOT_SUM_SQUARED_X_Y,
56+ IIO_MOD_SUM_SQUARED_X_Y_Z,
57+ IIO_MOD_LIGHT_CLEAR,
58+ IIO_MOD_LIGHT_RED,
59+ IIO_MOD_LIGHT_GREEN,
60+ IIO_MOD_LIGHT_BLUE,
61+ IIO_MOD_QUATERNION,
62+ IIO_MOD_TEMP_AMBIENT,
63+ IIO_MOD_TEMP_OBJECT,
64+ IIO_MOD_NORTH_MAGN,
65+ IIO_MOD_NORTH_TRUE,
66+ IIO_MOD_NORTH_MAGN_TILT_COMP,
67+ IIO_MOD_NORTH_TRUE_TILT_COMP,
68+ IIO_MOD_RUNNING,
69+ IIO_MOD_JOGGING,
70+ IIO_MOD_WALKING,
71+ IIO_MOD_STILL,
72+ IIO_MOD_ROOT_SUM_SQUARED_X_Y_Z,
73+};
74+
75+enum iio_event_type {
76+ IIO_EV_TYPE_THRESH,
77+ IIO_EV_TYPE_MAG,
78+ IIO_EV_TYPE_ROC,
79+ IIO_EV_TYPE_THRESH_ADAPTIVE,
80+ IIO_EV_TYPE_MAG_ADAPTIVE,
81+ IIO_EV_TYPE_CHANGE,
82+};
83+
84+enum iio_event_direction {
85+ IIO_EV_DIR_EITHER,
86+ IIO_EV_DIR_RISING,
87+ IIO_EV_DIR_FALLING,
88+ IIO_EV_DIR_NONE,
89+};
90+
91+#endif /* _UAPI_IIO_TYPES_H_ */
92+
include/uapi/linux/input.h+8−2
@@ -369,7 +369,8 @@ struct input_keymap_entry { · 368 unmodified lines
369369 #define KEY_MSDOS 151
370370 #define KEY_COFFEE 152 /* AL Terminal Lock/Screensaver */
371371 #define KEY_SCREENLOCK KEY_COFFEE
372−#define KEY_DIRECTION 153
372+#define KEY_ROTATE_DISPLAY 153 /* Display orientation for e.g. tablets */
373+#define KEY_DIRECTION KEY_ROTATE_DISPLAY
373374 #define KEY_CYCLEWINDOWS 154
374375 #define KEY_MAIL 155
375376 #define KEY_BOOKMARKS 156 /* AC Bookmarks */
@@ -702,6 +703,10 @@ struct input_keymap_entry { · 326 unmodified lines
702703 #define KEY_NUMERIC_9 0x209
703704 #define KEY_NUMERIC_STAR 0x20a
704705 #define KEY_NUMERIC_POUND 0x20b
706+#define KEY_NUMERIC_A 0x20c /* Phone key A - HUT Telephony 0xb9 */
707+#define KEY_NUMERIC_B 0x20d
708+#define KEY_NUMERIC_C 0x20e
709+#define KEY_NUMERIC_D 0x20f
705710
706711 #define KEY_CAMERA_FOCUS 0x210
707712 #define KEY_WPS_BUTTON 0x211 /* WiFi Protected Setup key */
@@ -973,7 +978,8 @@ struct input_keymap_entry { · 265 unmodified lines
973978 */
974979 #define MT_TOOL_FINGER 0
975980 #define MT_TOOL_PEN 1
976−#define MT_TOOL_MAX 1
981+#define MT_TOOL_PALM 2
982+#define MT_TOOL_MAX 2
977983
978984 /*
979985 * Values describing the status of a force-feedback effect
include/uapi/linux/ip_vs.h+6−1
@@ -358,6 +358,8 @@ enum { · 357 unmodified lines
358358
359359 IPVS_SVC_ATTR_PE_NAME, /* name of ct retriever */
360360
361+ IPVS_SVC_ATTR_STATS64, /* nested attribute for service stats */
362+
361363 __IPVS_SVC_ATTR_MAX,
362364 };
363365
@@ -387,6 +389,8 @@ enum { · 23 unmodified lines
387389
388390 IPVS_DEST_ATTR_ADDR_FAMILY, /* Address family of address */
389391
392+ IPVS_DEST_ATTR_STATS64, /* nested attribute for dest stats */
393+
390394 __IPVS_DEST_ATTR_MAX,
391395 };
392396
@@ -410,7 +414,8 @@ enum { · 17 unmodified lines
410414 /*
411415 * Attributes used to describe service or destination entry statistics
412416 *
413− * Used inside nested attributes IPVS_SVC_ATTR_STATS and IPVS_DEST_ATTR_STATS
417+ * Used inside nested attributes IPVS_SVC_ATTR_STATS, IPVS_DEST_ATTR_STATS,
418+ * IPVS_SVC_ATTR_STATS64 and IPVS_DEST_ATTR_STATS64.
414419 */
415420 enum {
416421 IPVS_STATS_ATTR_UNSPEC = 0,
include/uapi/linux/ipv6.h+1−0
@@ -170,6 +170,7 @@ enum { · 169 unmodified lines
170170 DEVCONF_ACCEPT_RA_FROM_LOCAL,
171171 DEVCONF_USE_OPTIMISTIC,
172172 DEVCONF_ACCEPT_RA_MTU,
173+ DEVCONF_STABLE_SECRET,
173174 DEVCONF_MAX
174175 };
175176
include/uapi/linux/kvm.h+64−1
@@ -147,6 +147,16 @@ struct kvm_pit_config { · 146 unmodified lines
147147
148148 #define KVM_PIT_SPEAKER_DUMMY 1
149149
150+struct kvm_s390_skeys {
151+ __u64 start_gfn;
152+ __u64 count;
153+ __u64 skeydata_addr;
154+ __u32 flags;
155+ __u32 reserved[9];
156+};
157+#define KVM_S390_GET_SKEYS_NONE 1
158+#define KVM_S390_SKEYS_MAX 1048576
159+
150160 #define KVM_EXIT_UNKNOWN 0
151161 #define KVM_EXIT_EXCEPTION 1
152162 #define KVM_EXIT_IO 2
@@ -172,6 +182,7 @@ struct kvm_pit_config { · 19 unmodified lines
172182 #define KVM_EXIT_S390_TSCH 22
173183 #define KVM_EXIT_EPR 23
174184 #define KVM_EXIT_SYSTEM_EVENT 24
185+#define KVM_EXIT_S390_STSI 25
175186
176187 /* For KVM_EXIT_INTERNAL_ERROR */
177188 /* Emulate instruction failed. */
@@ -309,6 +320,15 @@ struct kvm_run { · 131 unmodified lines
309320 __u32 type;
310321 __u64 flags;
311322 } system_event;
323+ /* KVM_EXIT_S390_STSI */
324+ struct {
325+ __u64 addr;
326+ __u8 ar;
327+ __u8 reserved;
328+ __u8 fc;
329+ __u8 sel1;
330+ __u16 sel2;
331+ } s390_stsi;
312332 /* Fix the size of the union. */
313333 char padding[256];
314334 };
@@ -324,7 +344,7 @@ struct kvm_run { · 9 unmodified lines
324344 __u64 kvm_dirty_regs;
325345 union {
326346 struct kvm_sync_regs regs;
327− char padding[1024];
347+ char padding[2048];
328348 } s;
329349 };
330350
@@ -365,6 +385,24 @@ struct kvm_translation { · 34 unmodified lines
365385 __u8 pad[5];
366386 };
367387
388+/* for KVM_S390_MEM_OP */
389+struct kvm_s390_mem_op {
390+ /* in */
391+ __u64 gaddr; /* the guest address */
392+ __u64 flags; /* flags */
393+ __u32 size; /* amount of bytes */
394+ __u32 op; /* type of operation */
395+ __u64 buf; /* buffer in userspace */
396+ __u8 ar; /* the access register number */
397+ __u8 reserved[31]; /* should be set to 0 */
398+};
399+/* types for kvm_s390_mem_op->op */
400+#define KVM_S390_MEMOP_LOGICAL_READ 0
401+#define KVM_S390_MEMOP_LOGICAL_WRITE 1
402+/* flags for kvm_s390_mem_op->flags */
403+#define KVM_S390_MEMOP_F_CHECK_ONLY (1ULL << 0)
404+#define KVM_S390_MEMOP_F_INJECT_EXCEPTION (1ULL << 1)
405+
368406 /* for KVM_INTERRUPT */
369407 struct kvm_interrupt {
370408 /* in */
@@ -520,6 +558,13 @@ struct kvm_s390_irq { · 149 unmodified lines
520558 } u;
521559 };
522560
561+struct kvm_s390_irq_state {
562+ __u64 buf;
563+ __u32 flags;
564+ __u32 len;
565+ __u32 reserved[4];
566+};
567+
523568 /* for KVM_SET_GUEST_DEBUG */
524569
525570 #define KVM_GUESTDBG_ENABLE 0x00000001
@@ -760,6 +805,14 @@ struct kvm_ppc_smmu_info { · 234 unmodified lines
760805 #define KVM_CAP_PPC_ENABLE_HCALL 104
761806 #define KVM_CAP_CHECK_EXTENSION_VM 105
762807 #define KVM_CAP_S390_USER_SIGP 106
808+#define KVM_CAP_S390_VECTOR_REGISTERS 107
809+#define KVM_CAP_S390_MEM_OP 108
810+#define KVM_CAP_S390_USER_STSI 109
811+#define KVM_CAP_S390_SKEYS 110
812+#define KVM_CAP_MIPS_FPU 111
813+#define KVM_CAP_MIPS_MSA 112
814+#define KVM_CAP_S390_INJECT_IRQ 113
815+#define KVM_CAP_S390_IRQ_STATE 114
763816
764817 #ifdef KVM_CAP_IRQ_ROUTING
765818
@@ -1135,6 +1188,16 @@ struct kvm_s390_ucas_mapping { · 369 unmodified lines
11351188 #define KVM_ARM_VCPU_INIT _IOW(KVMIO, 0xae, struct kvm_vcpu_init)
11361189 #define KVM_ARM_PREFERRED_TARGET _IOR(KVMIO, 0xaf, struct kvm_vcpu_init)
11371190 #define KVM_GET_REG_LIST _IOWR(KVMIO, 0xb0, struct kvm_reg_list)
1191+/* Available with KVM_CAP_S390_MEM_OP */
1192+#define KVM_S390_MEM_OP _IOW(KVMIO, 0xb1, struct kvm_s390_mem_op)
1193+/* Available with KVM_CAP_S390_SKEYS */
1194+#define KVM_S390_GET_SKEYS _IOW(KVMIO, 0xb2, struct kvm_s390_skeys)
1195+#define KVM_S390_SET_SKEYS _IOW(KVMIO, 0xb3, struct kvm_s390_skeys)
1196+/* Available with KVM_CAP_S390_INJECT_IRQ */
1197+#define KVM_S390_IRQ _IOW(KVMIO, 0xb4, struct kvm_s390_irq)
1198+/* Available with KVM_CAP_S390_IRQ_STATE */
1199+#define KVM_S390_SET_IRQ_STATE _IOW(KVMIO, 0xb5, struct kvm_s390_irq_state)
1200+#define KVM_S390_GET_IRQ_STATE _IOW(KVMIO, 0xb6, struct kvm_s390_irq_state)
11381201
11391202 #define KVM_DEV_ASSIGN_ENABLE_IOMMU (1 << 0)
11401203 #define KVM_DEV_ASSIGN_PCI_2_3 (1 << 1)
include/uapi/linux/magic.h+2−0
@@ -58,6 +58,8 @@ · 57 unmodified lines
5858
5959 #define STACK_END_MAGIC 0x57AC6E9D
6060
61+#define TRACEFS_MAGIC 0x74726163
62+
6163 #define V9FS_MAGIC 0x01021997
6264
6365 #define BDEVFS_MAGIC 0x62646576
include/uapi/linux/media-bus-format.h+11−2
@@ -33,24 +33,32 @@ · 32 unmodified lines
3333
3434 #define MEDIA_BUS_FMT_FIXED 0x0001
3535
36−/* RGB - next is 0x1010 */
36+/* RGB - next is 0x1018 */
37+#define MEDIA_BUS_FMT_RGB444_1X12 0x1016
3738 #define MEDIA_BUS_FMT_RGB444_2X8_PADHI_BE 0x1001
3839 #define MEDIA_BUS_FMT_RGB444_2X8_PADHI_LE 0x1002
3940 #define MEDIA_BUS_FMT_RGB555_2X8_PADHI_BE 0x1003
4041 #define MEDIA_BUS_FMT_RGB555_2X8_PADHI_LE 0x1004
42+#define MEDIA_BUS_FMT_RGB565_1X16 0x1017
4143 #define MEDIA_BUS_FMT_BGR565_2X8_BE 0x1005
4244 #define MEDIA_BUS_FMT_BGR565_2X8_LE 0x1006
4345 #define MEDIA_BUS_FMT_RGB565_2X8_BE 0x1007
4446 #define MEDIA_BUS_FMT_RGB565_2X8_LE 0x1008
4547 #define MEDIA_BUS_FMT_RGB666_1X18 0x1009
4648 #define MEDIA_BUS_FMT_RBG888_1X24 0x100e
49+#define MEDIA_BUS_FMT_RGB666_1X24_CPADHI 0x1015
50+#define MEDIA_BUS_FMT_RGB666_1X7X3_SPWG 0x1010
51+#define MEDIA_BUS_FMT_BGR888_1X24 0x1013
52+#define MEDIA_BUS_FMT_GBR888_1X24 0x1014
4753 #define MEDIA_BUS_FMT_RGB888_1X24 0x100a
4854 #define MEDIA_BUS_FMT_RGB888_2X12_BE 0x100b
4955 #define MEDIA_BUS_FMT_RGB888_2X12_LE 0x100c
56+#define MEDIA_BUS_FMT_RGB888_1X7X4_SPWG 0x1011
57+#define MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA 0x1012
5058 #define MEDIA_BUS_FMT_ARGB8888_1X32 0x100d
5159 #define MEDIA_BUS_FMT_RGB888_1X32_PADHI 0x100f
5260
53−/* YUV (including grey) - next is 0x2025 */
61+/* YUV (including grey) - next is 0x2026 */
5462 #define MEDIA_BUS_FMT_Y8_1X8 0x2001
5563 #define MEDIA_BUS_FMT_UV8_1X8 0x2015
5664 #define MEDIA_BUS_FMT_UYVY8_1_5X8 0x2002
@@ -81,6 +89,7 @@ · 24 unmodified lines
8189 #define MEDIA_BUS_FMT_YUYV10_1X20 0x200d
8290 #define MEDIA_BUS_FMT_YVYU10_1X20 0x200e
8391 #define MEDIA_BUS_FMT_VUY8_1X24 0x2024
92+#define MEDIA_BUS_FMT_YUV8_1X24 0x2025
8493 #define MEDIA_BUS_FMT_UYVY12_1X24 0x2020
8594 #define MEDIA_BUS_FMT_VYUY12_1X24 0x2021
8695 #define MEDIA_BUS_FMT_YUYV12_1X24 0x2022
include/uapi/linux/neighbour.h+1−0
@@ -126,6 +126,7 @@ enum { · 125 unmodified lines
126126 NDTPA_PROXY_QLEN, /* u32 */
127127 NDTPA_LOCKTIME, /* u64, msecs */
128128 NDTPA_QUEUE_LENBYTES, /* u32 */
129+ NDTPA_MCAST_REPROBES, /* u32 */
129130 __NDTPA_MAX
130131 };
131132 #define NDTPA_MAX (__NDTPA_MAX - 1)
include/uapi/linux/netfilter/nf_tables.h+79−1
@@ -1,19 +1,49 @@
11 #ifndef _LINUX_NF_TABLES_H
22 #define _LINUX_NF_TABLES_H
33
4+#define NFT_TABLE_MAXNAMELEN 32
45 #define NFT_CHAIN_MAXNAMELEN 32
56 #define NFT_USERDATA_MAXLEN 256
67
8+/**
9+ * enum nft_registers - nf_tables registers
10+ *
11+ * nf_tables used to have five registers: a verdict register and four data
12+ * registers of size 16. The data registers have been changed to 16 registers
13+ * of size 4. For compatibility reasons, the NFT_REG_[1-4] registers still
14+ * map to areas of size 16, the 4 byte registers are addressed using
15+ * NFT_REG32_00 - NFT_REG32_15.
16+ */
717 enum nft_registers {
818 NFT_REG_VERDICT,
919 NFT_REG_1,
1020 NFT_REG_2,
1121 NFT_REG_3,
1222 NFT_REG_4,
13− __NFT_REG_MAX
23+ __NFT_REG_MAX,
24+
25+ NFT_REG32_00 = 8,
26+ MFT_REG32_01,
27+ NFT_REG32_02,
28+ NFT_REG32_03,
29+ NFT_REG32_04,
30+ NFT_REG32_05,
31+ NFT_REG32_06,
32+ NFT_REG32_07,
33+ NFT_REG32_08,
34+ NFT_REG32_09,
35+ NFT_REG32_10,
36+ NFT_REG32_11,
37+ NFT_REG32_12,
38+ NFT_REG32_13,
39+ NFT_REG32_14,
40+ NFT_REG32_15,
1441 };
1542 #define NFT_REG_MAX (__NFT_REG_MAX - 1)
1643
44+#define NFT_REG_SIZE 16
45+#define NFT_REG32_SIZE 4
46+
1747 /**
1848 * enum nft_verdicts - nf_tables internal verdicts
1949 *
@@ -207,12 +237,16 @@ enum nft_rule_compat_attributes { · 187 unmodified lines
207237 * @NFT_SET_CONSTANT: set contents may not change while bound
208238 * @NFT_SET_INTERVAL: set contains intervals
209239 * @NFT_SET_MAP: set is used as a dictionary
240+ * @NFT_SET_TIMEOUT: set uses timeouts
241+ * @NFT_SET_EVAL: set contains expressions for evaluation
210242 */
211243 enum nft_set_flags {
212244 NFT_SET_ANONYMOUS = 0x1,
213245 NFT_SET_CONSTANT = 0x2,
214246 NFT_SET_INTERVAL = 0x4,
215247 NFT_SET_MAP = 0x8,
248+ NFT_SET_TIMEOUT = 0x10,
249+ NFT_SET_EVAL = 0x20,
216250 };
217251
218252 /**
@@ -251,6 +285,8 @@ enum nft_set_desc_attributes { · 32 unmodified lines
251285 * @NFTA_SET_POLICY: selection policy (NLA_U32)
252286 * @NFTA_SET_DESC: set description (NLA_NESTED)
253287 * @NFTA_SET_ID: uniquely identifies a set in a transaction (NLA_U32)
288+ * @NFTA_SET_TIMEOUT: default timeout value (NLA_U64)
289+ * @NFTA_SET_GC_INTERVAL: garbage collection interval (NLA_U32)
254290 */
255291 enum nft_set_attributes {
256292 NFTA_SET_UNSPEC,
@@ -264,6 +300,8 @@ enum nft_set_attributes { · 7 unmodified lines
264300 NFTA_SET_POLICY,
265301 NFTA_SET_DESC,
266302 NFTA_SET_ID,
303+ NFTA_SET_TIMEOUT,
304+ NFTA_SET_GC_INTERVAL,
267305 __NFTA_SET_MAX
268306 };
269307 #define NFTA_SET_MAX (__NFTA_SET_MAX - 1)
@@ -283,12 +321,20 @@ enum nft_set_elem_flags { · 13 unmodified lines
283321 * @NFTA_SET_ELEM_KEY: key value (NLA_NESTED: nft_data)
284322 * @NFTA_SET_ELEM_DATA: data value of mapping (NLA_NESTED: nft_data_attributes)
285323 * @NFTA_SET_ELEM_FLAGS: bitmask of nft_set_elem_flags (NLA_U32)
324+ * @NFTA_SET_ELEM_TIMEOUT: timeout value (NLA_U64)
325+ * @NFTA_SET_ELEM_EXPIRATION: expiration time (NLA_U64)
326+ * @NFTA_SET_ELEM_USERDATA: user data (NLA_BINARY)
327+ * @NFTA_SET_ELEM_EXPR: expression (NLA_NESTED: nft_expr_attributes)
286328 */
287329 enum nft_set_elem_attributes {
288330 NFTA_SET_ELEM_UNSPEC,
289331 NFTA_SET_ELEM_KEY,
290332 NFTA_SET_ELEM_DATA,
291333 NFTA_SET_ELEM_FLAGS,
334+ NFTA_SET_ELEM_TIMEOUT,
335+ NFTA_SET_ELEM_EXPIRATION,
336+ NFTA_SET_ELEM_USERDATA,
337+ NFTA_SET_ELEM_EXPR,
292338 __NFTA_SET_ELEM_MAX
293339 };
294340 #define NFTA_SET_ELEM_MAX (__NFTA_SET_ELEM_MAX - 1)
@@ -346,6 +392,9 @@ enum nft_data_attributes { · 51 unmodified lines
346392 };
347393 #define NFTA_DATA_MAX (__NFTA_DATA_MAX - 1)
348394
395+/* Maximum length of a value */
396+#define NFT_DATA_VALUE_MAXLEN 64
397+
349398 /**
350399 * enum nft_verdict_attributes - nf_tables verdict netlink attributes
351400 *
@@ -504,6 +553,35 @@ enum nft_lookup_attributes { · 152 unmodified lines
504553 };
505554 #define NFTA_LOOKUP_MAX (__NFTA_LOOKUP_MAX - 1)
506555
556+enum nft_dynset_ops {
557+ NFT_DYNSET_OP_ADD,
558+ NFT_DYNSET_OP_UPDATE,
559+};
560+
561+/**
562+ * enum nft_dynset_attributes - dynset expression attributes
563+ *
564+ * @NFTA_DYNSET_SET_NAME: name of set the to add data to (NLA_STRING)
565+ * @NFTA_DYNSET_SET_ID: uniquely identifier of the set in the transaction (NLA_U32)
566+ * @NFTA_DYNSET_OP: operation (NLA_U32)
567+ * @NFTA_DYNSET_SREG_KEY: source register of the key (NLA_U32)
568+ * @NFTA_DYNSET_SREG_DATA: source register of the data (NLA_U32)
569+ * @NFTA_DYNSET_TIMEOUT: timeout value for the new element (NLA_U64)
570+ * @NFTA_DYNSET_EXPR: expression (NLA_NESTED: nft_expr_attributes)
571+ */
572+enum nft_dynset_attributes {
573+ NFTA_DYNSET_UNSPEC,
574+ NFTA_DYNSET_SET_NAME,
575+ NFTA_DYNSET_SET_ID,
576+ NFTA_DYNSET_OP,
577+ NFTA_DYNSET_SREG_KEY,
578+ NFTA_DYNSET_SREG_DATA,
579+ NFTA_DYNSET_TIMEOUT,
580+ NFTA_DYNSET_EXPR,
581+ __NFTA_DYNSET_MAX,
582+};
583+#define NFTA_DYNSET_MAX (__NFTA_DYNSET_MAX - 1)
584+
507585 /**
508586 * enum nft_payload_bases - nf_tables payload expression offset bases
509587 *
include/uapi/linux/netfilter_bridge/ebtables.h+0−2
@@ -12,9 +12,7 @@ · 11 unmodified lines
1212
1313 #ifndef _UAPI__LINUX_BRIDGE_EFF_H
1414 #define _UAPI__LINUX_BRIDGE_EFF_H
15−#include <linux/if.h>
1615 #include <linux/netfilter_bridge.h>
17−#include <linux/if_ether.h>
1816
1917 #define EBT_TABLE_MAXNAMELEN 32
2018 #define EBT_CHAIN_MAXNAMELEN EBT_TABLE_MAXNAMELEN
include/uapi/linux/nfsd/export.h+1−1
@@ -47,7 +47,7 @@ · 46 unmodified lines
4747 * exported filesystem.
4848 */
4949 #define NFSEXP_V4ROOT 0x10000
50−#define NFSEXP_NOPNFS 0x20000
50+#define NFSEXP_PNFS 0x20000
5151
5252 /* All flags that we claim to support. (Note we don't support NOACL.) */
5353 #define NFSEXP_ALLFLAGS 0x3FE7F
include/uapi/linux/nl80211.h+31−3
@@ -25,6 +25,19 @@ · 24 unmodified lines
2525 *
2626 */
2727
28+/*
29+ * This header file defines the userspace API to the wireless stack. Please
30+ * be careful not to break things - i.e. don't move anything around or so
31+ * unless you can demonstrate that it breaks neither API nor ABI.
32+ *
33+ * Additions to the API should be accompanied by actual implementations in
34+ * an upstream driver, so that example implementations exist in case there
35+ * are ever concerns about the precise semantics of the API or changes are
36+ * needed, and to ensure that code for dead (no longer implemented) API
37+ * can actually be identified and removed.
38+ * Nonetheless, semantics should also be documented carefully in this file.
39+ */
40+
2841 #include <linux/types.h>
2942
3043 #define NL80211_GENL_NAME "nl80211"
@@ -1684,6 +1697,10 @@ enum nl80211_commands { · 1653 unmodified lines
16841697 * If set during scheduled scan start then the new scan req will be
16851698 * owned by the netlink socket that created it and the scheduled scan will
16861699 * be stopped when the socket is closed.
1700+ * If set during configuration of regulatory indoor operation then the
1701+ * regulatory indoor configuration would be owned by the netlink socket
1702+ * that configured the indoor setting, and the indoor operation would be
1703+ * cleared when the socket is closed.
16871704 *
16881705 * @NL80211_ATTR_TDLS_INITIATOR: flag attribute indicating the current end is
16891706 * the TDLS link initiator.
@@ -1737,8 +1754,12 @@ enum nl80211_commands { · 47 unmodified lines
17371754 * should be contained in the result as the sum of the respective counters
17381755 * over all channels.
17391756 *
1740− * @NL80211_ATTR_SCHED_SCAN_DELAY: delay before a scheduled scan (or a
1741− * WoWLAN net-detect scan) is started, u32 in seconds.
1757+ * @NL80211_ATTR_SCHED_SCAN_DELAY: delay before the first cycle of a
1758+ * scheduled scan (or a WoWLAN net-detect scan) is started, u32
1759+ * in seconds.
1760+
1761+ * @NL80211_ATTR_REG_INDOOR: flag attribute, if set indicates that the device
1762+ * is operating in an indoor environment.
17421763 *
17431764 * @NUM_NL80211_ATTR: total number of nl80211_attrs available
17441765 * @NL80211_ATTR_MAX: highest attribute number currently defined
@@ -2107,6 +2128,8 @@ enum nl80211_attrs { · 362 unmodified lines
21072128
21082129 NL80211_ATTR_SCHED_SCAN_DELAY,
21092130
2131+ NL80211_ATTR_REG_INDOOR,
2132+
21102133 /* add attributes here, update the policy in nl80211.c */
21112134
21122135 __NL80211_ATTR_AFTER_LAST,
@@ -3092,7 +3115,8 @@ enum nl80211_mesh_power_mode { · 979 unmodified lines
30923115 *
30933116 * @NL80211_MESHCONF_PLINK_TIMEOUT: If no tx activity is seen from a STA we've
30943117 * established peering with for longer than this time (in seconds), then
3095− * remove it from the STA's list of peers. Default is 30 minutes.
3118+ * remove it from the STA's list of peers. You may set this to 0 to disable
3119+ * the removal of the STA. Default is 30 minutes.
30963120 *
30973121 * @__NL80211_MESHCONF_ATTR_AFTER_LAST: internal use
30983122 */
@@ -3694,6 +3718,8 @@ struct nl80211_pattern_support { · 595 unmodified lines
36943718 * @NL80211_WOWLAN_TRIG_ANY: wake up on any activity, do not really put
36953719 * the chip into a special state -- works best with chips that have
36963720 * support for low-power operation already (flag)
3721+ * Note that this mode is incompatible with all of the others, if
3722+ * any others are even supported by the device.
36973723 * @NL80211_WOWLAN_TRIG_DISCONNECT: wake up on disconnect, the way disconnect
36983724 * is detected is implementation-specific (flag)
36993725 * @NL80211_WOWLAN_TRIG_MAGIC_PKT: wake up on magic packet (6x 0xff, followed
@@ -4327,11 +4353,13 @@ enum nl80211_feature_flags { · 627 unmodified lines
43274353
43284354 /**
43294355 * enum nl80211_ext_feature_index - bit index of extended features.
4356+ * @NL80211_EXT_FEATURE_VHT_IBSS: This driver supports IBSS with VHT datarates.
43304357 *
43314358 * @NUM_NL80211_EXT_FEATURES: number of extended features.
43324359 * @MAX_NL80211_EXT_FEATURES: highest extended feature index.
43334360 */
43344361 enum nl80211_ext_feature_index {
4362+ NL80211_EXT_FEATURE_VHT_IBSS,
43354363
43364364 /* add new features before the definition below */
43374365 NUM_NL80211_EXT_FEATURES,
include/uapi/linux/perf_event.h+98−17
@@ -152,21 +152,42 @@ enum perf_event_sample_format { · 151 unmodified lines
152152 * The branch types can be combined, however BRANCH_ANY covers all types
153153 * of branches and therefore it supersedes all the other types.
154154 */
155+enum perf_branch_sample_type_shift {
156+ PERF_SAMPLE_BRANCH_USER_SHIFT = 0, /* user branches */
157+ PERF_SAMPLE_BRANCH_KERNEL_SHIFT = 1, /* kernel branches */
158+ PERF_SAMPLE_BRANCH_HV_SHIFT = 2, /* hypervisor branches */
159+
160+ PERF_SAMPLE_BRANCH_ANY_SHIFT = 3, /* any branch types */
161+ PERF_SAMPLE_BRANCH_ANY_CALL_SHIFT = 4, /* any call branch */
162+ PERF_SAMPLE_BRANCH_ANY_RETURN_SHIFT = 5, /* any return branch */
163+ PERF_SAMPLE_BRANCH_IND_CALL_SHIFT = 6, /* indirect calls */
164+ PERF_SAMPLE_BRANCH_ABORT_TX_SHIFT = 7, /* transaction aborts */
165+ PERF_SAMPLE_BRANCH_IN_TX_SHIFT = 8, /* in transaction */
166+ PERF_SAMPLE_BRANCH_NO_TX_SHIFT = 9, /* not in transaction */
167+ PERF_SAMPLE_BRANCH_COND_SHIFT = 10, /* conditional branches */
168+
169+ PERF_SAMPLE_BRANCH_CALL_STACK_SHIFT = 11, /* call/ret stack */
170+
171+ PERF_SAMPLE_BRANCH_MAX_SHIFT /* non-ABI */
172+};
173+
155174 enum perf_branch_sample_type {
156− PERF_SAMPLE_BRANCH_USER = 1U << 0, /* user branches */
157− PERF_SAMPLE_BRANCH_KERNEL = 1U << 1, /* kernel branches */
158− PERF_SAMPLE_BRANCH_HV = 1U << 2, /* hypervisor branches */
159−
160− PERF_SAMPLE_BRANCH_ANY = 1U << 3, /* any branch types */
161− PERF_SAMPLE_BRANCH_ANY_CALL = 1U << 4, /* any call branch */
162− PERF_SAMPLE_BRANCH_ANY_RETURN = 1U << 5, /* any return branch */
163− PERF_SAMPLE_BRANCH_IND_CALL = 1U << 6, /* indirect calls */
164− PERF_SAMPLE_BRANCH_ABORT_TX = 1U << 7, /* transaction aborts */
165− PERF_SAMPLE_BRANCH_IN_TX = 1U << 8, /* in transaction */
166− PERF_SAMPLE_BRANCH_NO_TX = 1U << 9, /* not in transaction */
167− PERF_SAMPLE_BRANCH_COND = 1U << 10, /* conditional branches */
168−
169− PERF_SAMPLE_BRANCH_MAX = 1U << 11, /* non-ABI */
175+ PERF_SAMPLE_BRANCH_USER = 1U << PERF_SAMPLE_BRANCH_USER_SHIFT,
176+ PERF_SAMPLE_BRANCH_KERNEL = 1U << PERF_SAMPLE_BRANCH_KERNEL_SHIFT,
177+ PERF_SAMPLE_BRANCH_HV = 1U << PERF_SAMPLE_BRANCH_HV_SHIFT,
178+
179+ PERF_SAMPLE_BRANCH_ANY = 1U << PERF_SAMPLE_BRANCH_ANY_SHIFT,
180+ PERF_SAMPLE_BRANCH_ANY_CALL = 1U << PERF_SAMPLE_BRANCH_ANY_CALL_SHIFT,
181+ PERF_SAMPLE_BRANCH_ANY_RETURN = 1U << PERF_SAMPLE_BRANCH_ANY_RETURN_SHIFT,
182+ PERF_SAMPLE_BRANCH_IND_CALL = 1U << PERF_SAMPLE_BRANCH_IND_CALL_SHIFT,
183+ PERF_SAMPLE_BRANCH_ABORT_TX = 1U << PERF_SAMPLE_BRANCH_ABORT_TX_SHIFT,
184+ PERF_SAMPLE_BRANCH_IN_TX = 1U << PERF_SAMPLE_BRANCH_IN_TX_SHIFT,
185+ PERF_SAMPLE_BRANCH_NO_TX = 1U << PERF_SAMPLE_BRANCH_NO_TX_SHIFT,
186+ PERF_SAMPLE_BRANCH_COND = 1U << PERF_SAMPLE_BRANCH_COND_SHIFT,
187+
188+ PERF_SAMPLE_BRANCH_CALL_STACK = 1U << PERF_SAMPLE_BRANCH_CALL_STACK_SHIFT,
189+
190+ PERF_SAMPLE_BRANCH_MAX = 1U << PERF_SAMPLE_BRANCH_MAX_SHIFT,
170191 };
171192
172193 #define PERF_SAMPLE_BRANCH_PLM_ALL \
@@ -240,6 +261,7 @@ enum perf_event_read_format { · 67 unmodified lines
240261 #define PERF_ATTR_SIZE_VER3 96 /* add: sample_regs_user */
241262 /* add: sample_stack_user */
242263 #define PERF_ATTR_SIZE_VER4 104 /* add: sample_regs_intr */
264+#define PERF_ATTR_SIZE_VER5 112 /* add: aux_watermark */
243265
244266 /*
245267 * Hardware event_id to monitor via a performance monitoring event:
@@ -305,7 +327,8 @@ struct perf_event_attr { · 59 unmodified lines
305327 exclude_callchain_user : 1, /* exclude user callchains */
306328 mmap2 : 1, /* include mmap with inode data */
307329 comm_exec : 1, /* flag comm events that are due to an exec */
308− __reserved_1 : 39;
330+ use_clockid : 1, /* use @clockid for time fields */
331+ __reserved_1 : 38;
309332
310333 union {
311334 __u32 wakeup_events; /* wakeup every n events */
@@ -334,8 +357,7 @@ struct perf_event_attr { · 22 unmodified lines
334357 */
335358 __u32 sample_stack_user;
336359
337− /* Align to u64. */
338− __u32 __reserved_2;
360+ __s32 clockid;
339361 /*
340362 * Defines set of regs to dump for each sample
341363 * state captured on:
@@ -345,6 +367,12 @@ struct perf_event_attr { · 3 unmodified lines
345367 * See asm/perf_regs.h for details.
346368 */
347369 __u64 sample_regs_intr;
370+
371+ /*
372+ * Wakeup watermark for AUX area
373+ */
374+ __u32 aux_watermark;
375+ __u32 __reserved_2; /* align to __u64 */
348376 };
349377
350378 #define perf_flags(attr) (*(&(attr)->read_format + 1))
@@ -360,6 +388,7 @@ struct perf_event_attr { · 9 unmodified lines
360388 #define PERF_EVENT_IOC_SET_OUTPUT _IO ('$', 5)
361389 #define PERF_EVENT_IOC_SET_FILTER _IOW('$', 6, char *)
362390 #define PERF_EVENT_IOC_ID _IOR('$', 7, __u64 *)
391+#define PERF_EVENT_IOC_SET_BPF _IOW('$', 8, __u32)
363392
364393 enum perf_event_ioc_flags {
365394 PERF_IOC_FLAG_GROUP = 1U << 0,
@@ -500,9 +529,30 @@ struct perf_event_mmap_page { · 134 unmodified lines
500529 * In this case the kernel will not over-write unread data.
501530 *
502531 * See perf_output_put_handle() for the data ordering.
532+ *
533+ * data_{offset,size} indicate the location and size of the perf record
534+ * buffer within the mmapped area.
503535 */
504536 __u64 data_head; /* head in the data section */
505537 __u64 data_tail; /* user-space written tail */
538+ __u64 data_offset; /* where the buffer starts */
539+ __u64 data_size; /* data buffer size */
540+
541+ /*
542+ * AUX area is defined by aux_{offset,size} fields that should be set
543+ * by the userspace, so that
544+ *
545+ * aux_offset >= data_offset + data_size
546+ *
547+ * prior to mmap()ing it. Size of the mmap()ed area should be aux_size.
548+ *
549+ * Ring buffer pointers aux_{head,tail} have the same semantics as
550+ * data_{head,tail} and same ordering rules apply.
551+ */
552+ __u64 aux_head;
553+ __u64 aux_tail;
554+ __u64 aux_offset;
555+ __u64 aux_size;
506556 };
507557
508558 #define PERF_RECORD_MISC_CPUMODE_MASK (7 << 0)
@@ -725,6 +775,31 @@ enum perf_event_type { · 216 unmodified lines
725775 */
726776 PERF_RECORD_MMAP2 = 10,
727777
778+ /*
779+ * Records that new data landed in the AUX buffer part.
780+ *
781+ * struct {
782+ * struct perf_event_header header;
783+ *
784+ * u64 aux_offset;
785+ * u64 aux_size;
786+ * u64 flags;
787+ * struct sample_id sample_id;
788+ * };
789+ */
790+ PERF_RECORD_AUX = 11,
791+
792+ /*
793+ * Indicates that instruction trace has started
794+ *
795+ * struct {
796+ * struct perf_event_header header;
797+ * u32 pid;
798+ * u32 tid;
799+ * };
800+ */
801+ PERF_RECORD_ITRACE_START = 12,
802+
728803 PERF_RECORD_MAX, /* non-ABI */
729804 };
730805
@@ -742,6 +817,12 @@ enum perf_callchain_context { · 11 unmodified lines
742817 PERF_CONTEXT_MAX = (__u64)-4095,
743818 };
744819
820+/**
821+ * PERF_RECORD_AUX::flags bits
822+ */
823+#define PERF_AUX_FLAG_TRUNCATED 0x01 /* record was truncated to fit */
824+#define PERF_AUX_FLAG_OVERWRITE 0x02 /* snapshot from overwrite mode */
825+
745826 #define PERF_FLAG_FD_NO_GROUP (1UL << 0)
746827 #define PERF_FLAG_FD_OUTPUT (1UL << 1)
747828 #define PERF_FLAG_PID_CGROUP (1UL << 2) /* pid=cgroup id, per-cpu mode only */
include/uapi/linux/pkt_cls.h+2−0
@@ -397,6 +397,8 @@ enum { · 396 unmodified lines
397397 TCA_BPF_CLASSID,
398398 TCA_BPF_OPS_LEN,
399399 TCA_BPF_OPS,
400+ TCA_BPF_FD,
401+ TCA_BPF_NAME,
400402 __TCA_BPF_MAX,
401403 };
402404
include/uapi/linux/quota.h+4−2
@@ -36,11 +36,12 @@ · 35 unmodified lines
3636 #include <linux/errno.h>
3737 #include <linux/types.h>
3838
39−#define __DQUOT_VERSION__ "dquot_6.5.2"
39+#define __DQUOT_VERSION__ "dquot_6.6.0"
4040
41−#define MAXQUOTAS 2
41+#define MAXQUOTAS 3
4242 #define USRQUOTA 0 /* element used for user quotas */
4343 #define GRPQUOTA 1 /* element used for group quotas */
44+#define PRJQUOTA 2 /* element used for project quotas */
4445
4546 /*
4647 * Definitions for the default names of the quotas files.
@@ -48,6 +49,7 @@ · 1 unmodified line
4849 #define INITQFNAMES { \
4950 "user", /* USRQUOTA */ \
5051 "group", /* GRPQUOTA */ \
52+ "project", /* PRJQUOTA */ \
5153 "undefined", \
5254 };
5355
include/uapi/linux/rtnetlink.h+16−0
@@ -134,6 +134,8 @@ enum { · 133 unmodified lines
134134
135135 RTM_NEWNSID = 88,
136136 #define RTM_NEWNSID RTM_NEWNSID
137+ RTM_DELNSID = 89,
138+#define RTM_DELNSID RTM_DELNSID
137139 RTM_GETNSID = 90,
138140 #define RTM_GETNSID RTM_GETNSID
139141
@@ -303,6 +305,9 @@ enum rtattr_type_t { · 163 unmodified lines
303305 RTA_TABLE,
304306 RTA_MARK,
305307 RTA_MFC_STATS,
308+ RTA_VIA,
309+ RTA_NEWDST,
310+ RTA_PREF,
306311 __RTA_MAX
307312 };
308313
@@ -332,6 +337,7 @@ struct rtnexthop { · 23 unmodified lines
332337 #define RTNH_F_DEAD 1 /* Nexthop is dead (used by multipath) */
333338 #define RTNH_F_PERVASIVE 2 /* Do recursive gateway lookup */
334339 #define RTNH_F_ONLINK 4 /* Gateway is forced on link */
340+#define RTNH_F_EXTERNAL 8 /* Route installed externally */
335341
336342 /* Macros to handle hexthops */
337343
@@ -344,6 +350,12 @@ struct rtnexthop { · 6 unmodified lines
344350 #define RTNH_SPACE(len) RTNH_ALIGN(RTNH_LENGTH(len))
345351 #define RTNH_DATA(rtnh) ((struct rtattr*)(((char*)(rtnh)) + RTNH_LENGTH(0)))
346352
353+/* RTA_VIA */
354+struct rtvia {
355+ __kernel_sa_family_t rtvia_family;
356+ __u8 rtvia_addr[0];
357+};
358+
347359 /* RTM_CACHEINFO */
348360
349361 struct rta_cacheinfo {
@@ -623,6 +635,10 @@ enum rtnetlink_groups { · 273 unmodified lines
623635 #define RTNLGRP_IPV6_NETCONF RTNLGRP_IPV6_NETCONF
624636 RTNLGRP_MDB,
625637 #define RTNLGRP_MDB RTNLGRP_MDB
638+ RTNLGRP_MPLS_ROUTE,
639+#define RTNLGRP_MPLS_ROUTE RTNLGRP_MPLS_ROUTE
640+ RTNLGRP_NSID,
641+#define RTNLGRP_NSID RTNLGRP_NSID
626642 __RTNLGRP_MAX
627643 };
628644 #define RTNLGRP_MAX (__RTNLGRP_MAX - 1)
include/uapi/linux/serial.h+4−0
@@ -65,6 +65,10 @@ struct serial_struct { · 64 unmodified lines
6565 #define SERIAL_IO_PORT 0
6666 #define SERIAL_IO_HUB6 1
6767 #define SERIAL_IO_MEM 2
68+#define SERIAL_IO_MEM32 3
69+#define SERIAL_IO_AU 4
70+#define SERIAL_IO_TSI 5
71+#define SERIAL_IO_MEM32BE 6
6872
6973 #define UART_CLEAR_FIFO 0x01
7074 #define UART_USE_FIFO 0x02
include/uapi/linux/tc_act/Kbuild+1−0
@@ -9,3 +9,4 @@ header-y += tc_pedit.h · 8 unmodified lines
99 header-y += tc_skbedit.h
1010 header-y += tc_vlan.h
1111 header-y += tc_bpf.h
12+header-y += tc_connmark.h
include/uapi/linux/tc_act/tc_bpf.h+2−0
@@ -24,6 +24,8 @@ enum { · 23 unmodified lines
2424 TCA_ACT_BPF_PARMS,
2525 TCA_ACT_BPF_OPS_LEN,
2626 TCA_ACT_BPF_OPS,
27+ TCA_ACT_BPF_FD,
28+ TCA_ACT_BPF_NAME,
2729 __TCA_ACT_BPF_MAX,
2830 };
2931 #define TCA_ACT_BPF_MAX (__TCA_ACT_BPF_MAX - 1)
include/uapi/linux/tipc_netlink.h+9−0
@@ -83,11 +83,20 @@ enum { · 82 unmodified lines
8383 TIPC_NLA_BEARER_NAME, /* string */
8484 TIPC_NLA_BEARER_PROP, /* nest */
8585 TIPC_NLA_BEARER_DOMAIN, /* u32 */
86+ TIPC_NLA_BEARER_UDP_OPTS, /* nest */
8687
8788 __TIPC_NLA_BEARER_MAX,
8889 TIPC_NLA_BEARER_MAX = __TIPC_NLA_BEARER_MAX - 1
8990 };
9091
92+enum {
93+ TIPC_NLA_UDP_UNSPEC,
94+ TIPC_NLA_UDP_LOCAL, /* sockaddr_storage */
95+ TIPC_NLA_UDP_REMOTE, /* sockaddr_storage */
96+
97+ __TIPC_NLA_UDP_MAX,
98+ TIPC_NLA_UDP_MAX = __TIPC_NLA_UDP_MAX - 1
99+};
91100 /* Socket info */
92101 enum {
93102 TIPC_NLA_SOCK_UNSPEC,
include/uapi/linux/vfio.h+2−0
@@ -160,6 +160,8 @@ struct vfio_device_info { · 159 unmodified lines
160160 __u32 flags;
161161 #define VFIO_DEVICE_FLAGS_RESET (1 << 0) /* Device supports reset */
162162 #define VFIO_DEVICE_FLAGS_PCI (1 << 1) /* vfio-pci device */
163+#define VFIO_DEVICE_FLAGS_PLATFORM (1 << 2) /* vfio-platform device */
164+#define VFIO_DEVICE_FLAGS_AMBA (1 << 3) /* vfio-amba device */
163165 __u32 num_regions; /* Max region index + 1 */
164166 __u32 num_irqs; /* Max IRQ index + 1 */
165167 };
include/uapi/linux/virtio_blk.h+6−2
@@ -60,7 +60,7 @@ struct virtio_blk_config { · 59 unmodified lines
6060 __u32 size_max;
6161 /* The maximum number of segments (if VIRTIO_BLK_F_SEG_MAX) */
6262 __u32 seg_max;
63− /* geometry the device (if VIRTIO_BLK_F_GEOMETRY) */
63+ /* geometry of the device (if VIRTIO_BLK_F_GEOMETRY) */
6464 struct virtio_blk_geometry {
6565 __u16 cylinders;
6666 __u8 heads;
@@ -119,7 +119,11 @@ struct virtio_blk_config { · 52 unmodified lines
119119 #define VIRTIO_BLK_T_BARRIER 0x80000000
120120 #endif /* !VIRTIO_BLK_NO_LEGACY */
121121
122−/* This is the first element of the read scatter-gather list. */
122+/*
123+ * This comes first in the read scatter-gather list.
124+ * For legacy virtio, if VIRTIO_F_ANY_LAYOUT is not negotiated,
125+ * this is the first element of the read scatter-gather list.
126+ */
123127 struct virtio_blk_outhdr {
124128 /* VIRTIO_BLK_T* */
125129 __virtio32 type;
include/uapi/linux/virtio_scsi.h+10−2
@@ -29,8 +29,16 @@ · 28 unmodified lines
2929
3030 #include <linux/virtio_types.h>
3131
32−#define VIRTIO_SCSI_CDB_SIZE 32
33−#define VIRTIO_SCSI_SENSE_SIZE 96
32+/* Default values of the CDB and sense data size configuration fields */
33+#define VIRTIO_SCSI_CDB_DEFAULT_SIZE 32
34+#define VIRTIO_SCSI_SENSE_DEFAULT_SIZE 96
35+
36+#ifndef VIRTIO_SCSI_CDB_SIZE
37+#define VIRTIO_SCSI_CDB_SIZE VIRTIO_SCSI_CDB_DEFAULT_SIZE
38+#endif
39+#ifndef VIRTIO_SCSI_SENSE_SIZE
40+#define VIRTIO_SCSI_SENSE_SIZE VIRTIO_SCSI_SENSE_DEFAULT_SIZE
41+#endif
3442
3543 /* SCSI command request, followed by data-out */
3644 struct virtio_scsi_cmd_req {
include/uapi/linux/xfrm.h+2−0
@@ -1,6 +1,7 @@
11 #ifndef _LINUX_XFRM_H
22 #define _LINUX_XFRM_H
33
4+#include <linux/in6.h>
45 #include <linux/types.h>
56
67 /* All of the structures in this file may not change size as they are
@@ -13,6 +14,7 @@ · 6 unmodified lines
1314 typedef union {
1415 __be32 a4;
1516 __be32 a6[4];
17+ struct in6_addr in6;
1618 } xfrm_address_t;
1719
1820 /* Ident of a specific xfrm_state. It is used on input to lookup