History

Merge v5.6-rc5 into drm-next

Requested my mripard for some misc patches that need this as a base.

Dave Airlie committed 6 years ago

Commit d3bd37f2 parents 6034745 2c523b3895 files · +9603 −7001Browse files

Showing the changes to include/linux (25 of 895 files). Show all

Unified · Split

25 files
  1. include/linux/blkdev.h +1 −2
  2. include/linux/blktrace_api.h +13 −5
  3. include/linux/bootconfig.h +3 −0
  4. include/linux/compat.h +0 −29
  5. include/linux/debugfs.h +6 −7
  6. include/linux/device.h +11 −0
  7. include/linux/hid.h +1 −1
  8. include/linux/icmpv6.h +10 −6
  9. include/linux/intel-svm.h +1 −1
  10. include/linux/irqdomain.h +1 −1
  11. include/linux/ktime.h +0 −37
  12. include/linux/kvm_host.h +3 −1
  13. include/linux/mlx5/mlx5_ifc.h +4 −1
  14. include/linux/mm.h +4 −0
  15. include/linux/netdevice.h +3 −4
  16. include/linux/netfilter/ipset/ip_set.h +10 −1
  17. include/linux/platform_data/spi-omap2-mcspi.h +1 −0
  18. include/linux/rculist_nulls.h +7 −0
  19. include/linux/skbuff.h +30 −0
  20. include/linux/swiotlb.h +3 −8
  21. include/linux/time32.h +1 −153
  22. include/linux/timekeeping32.h +0 −32
  23. include/linux/tty.h +2 −0
  24. include/linux/types.h +0 −5
  25. include/linux/usb/quirks.h +3 −0
include/linux/blkdev.h+1−2
@@ -524,7 +524,7 @@ struct request_queue { · 523 unmodified lines
524524 unsigned int sg_reserved_size;
525525 int node;
526526 #ifdef CONFIG_BLK_DEV_IO_TRACE
527− struct blk_trace *blk_trace;
527+ struct blk_trace __rcu *blk_trace;
528528 struct mutex blk_trace_mutex;
529529 #endif
530530 /*
@@ -1494,7 +1494,6 @@ static inline void put_dev_sector(Sector p) · 963 unmodified lines
14941494 }
14951495
14961496 int kblockd_schedule_work(struct work_struct *work);
1497−int kblockd_schedule_work_on(int cpu, struct work_struct *work);
14981497 int kblockd_mod_delayed_work_on(int cpu, struct delayed_work *dwork, unsigned long delay);
14991498
15001499 #define MODULE_ALIAS_BLOCKDEV(major,minor) \
include/linux/blktrace_api.h+13−5
@@ -51,9 +51,13 @@ void __trace_note_message(struct blk_trace *, struct blkcg *blkcg, const char *f · 50 unmodified lines
5151 **/
5252 #define blk_add_cgroup_trace_msg(q, cg, fmt, ...) \
5353 do { \
54− struct blk_trace *bt = (q)->blk_trace; \
54+ struct blk_trace *bt; \
55+ \
56+ rcu_read_lock(); \
57+ bt = rcu_dereference((q)->blk_trace); \
5558 if (unlikely(bt)) \
5659 __trace_note_message(bt, cg, fmt, ##__VA_ARGS__);\
60+ rcu_read_unlock(); \
5761 } while (0)
5862 #define blk_add_trace_msg(q, fmt, ...) \
5963 blk_add_cgroup_trace_msg(q, NULL, fmt, ##__VA_ARGS__)
@@ -61,10 +65,14 @@ void __trace_note_message(struct blk_trace *, struct blkcg *blkcg, const char *f · 1 unmodified line
6165
6266 static inline bool blk_trace_note_message_enabled(struct request_queue *q)
6367 {
64− struct blk_trace *bt = q->blk_trace;
65− if (likely(!bt))
66− return false;
67− return bt->act_mask & BLK_TC_NOTIFY;
68+ struct blk_trace *bt;
69+ bool ret;
70+
71+ rcu_read_lock();
72+ bt = rcu_dereference(q->blk_trace);
73+ ret = bt && (bt->act_mask & BLK_TC_NOTIFY);
74+ rcu_read_unlock();
75+ return ret;
6876 }
6977
7078 extern void blk_add_driver_data(struct request_queue *q, struct request *rq,
include/linux/bootconfig.h+3−0
@@ -10,6 +10,9 @@ · 9 unmodified lines
1010 #include <linux/kernel.h>
1111 #include <linux/types.h>
1212
13+#define BOOTCONFIG_MAGIC "#BOOTCONFIG\n"
14+#define BOOTCONFIG_MAGIC_LEN 12
15+
1316 /* XBC tree node */
1417 struct xbc_node {
1518 u16 next;
include/linux/compat.h+0−29
@@ -248,15 +248,6 @@ typedef struct compat_siginfo { · 247 unmodified lines
248248 } _sifields;
249249 } compat_siginfo_t;
250250
251−/*
252− * These functions operate on 32- or 64-bit specs depending on
253− * COMPAT_USE_64BIT_TIME, hence the void user pointer arguments.
254− */
255−extern int compat_get_timespec(struct timespec *, const void __user *);
256−extern int compat_put_timespec(const struct timespec *, void __user *);
257−extern int compat_get_timeval(struct timeval *, const void __user *);
258−extern int compat_put_timeval(const struct timeval *, void __user *);
259−
260251 struct compat_iovec {
261252 compat_uptr_t iov_base;
262253 compat_size_t iov_len;
@@ -416,26 +407,6 @@ int copy_siginfo_to_user32(struct compat_siginfo __user *to, const kernel_siginf · 153 unmodified lines
416407 int get_compat_sigevent(struct sigevent *event,
417408 const struct compat_sigevent __user *u_event);
418409
419−static inline int old_timeval32_compare(struct old_timeval32 *lhs,
420− struct old_timeval32 *rhs)
421−{
422− if (lhs->tv_sec < rhs->tv_sec)
423− return -1;
424− if (lhs->tv_sec > rhs->tv_sec)
425− return 1;
426− return lhs->tv_usec - rhs->tv_usec;
427−}
428−
429−static inline int old_timespec32_compare(struct old_timespec32 *lhs,
430− struct old_timespec32 *rhs)
431−{
432− if (lhs->tv_sec < rhs->tv_sec)
433− return -1;
434− if (lhs->tv_sec > rhs->tv_sec)
435− return 1;
436− return lhs->tv_nsec - rhs->tv_nsec;
437−}
438−
439410 extern int get_compat_sigset(sigset_t *set, const compat_sigset_t __user *compat);
440411
441412 /*
include/linux/debugfs.h+6−7
@@ -127,9 +127,9 @@ struct dentry *debugfs_create_blob(const char *name, umode_t mode, · 126 unmodified lines
127127 struct dentry *parent,
128128 struct debugfs_blob_wrapper *blob);
129129
130−struct dentry *debugfs_create_regset32(const char *name, umode_t mode,
131− struct dentry *parent,
132− struct debugfs_regset32 *regset);
130+void debugfs_create_regset32(const char *name, umode_t mode,
131+ struct dentry *parent,
132+ struct debugfs_regset32 *regset);
133133
134134 void debugfs_print_regs32(struct seq_file *s, const struct debugfs_reg32 *regs,
135135 int nregs, void __iomem *base, char *prefix);
@@ -304,11 +304,10 @@ static inline struct dentry *debugfs_create_blob(const char *name, umode_t mode, · 168 unmodified lines
304304 return ERR_PTR(-ENODEV);
305305 }
306306
307−static inline struct dentry *debugfs_create_regset32(const char *name,
308− umode_t mode, struct dentry *parent,
309− struct debugfs_regset32 *regset)
307+static inline void debugfs_create_regset32(const char *name, umode_t mode,
308+ struct dentry *parent,
309+ struct debugfs_regset32 *regset)
310310 {
311− return ERR_PTR(-ENODEV);
312311 }
313312
314313 static inline void debugfs_print_regs32(struct seq_file *s, const struct debugfs_reg32 *regs,
include/linux/device.h+11−0
@@ -798,6 +798,17 @@ static inline struct device_node *dev_of_node(struct device *dev) · 797 unmodified lines
798798 return dev->of_node;
799799 }
800800
801+static inline bool dev_has_sync_state(struct device *dev)
802+{
803+ if (!dev)
804+ return false;
805+ if (dev->driver && dev->driver->sync_state)
806+ return true;
807+ if (dev->bus && dev->bus->sync_state)
808+ return true;
809+ return false;
810+}
811+
801812 /*
802813 * High level routines for use by the bus drivers
803814 */
include/linux/hid.h+1−1
@@ -492,7 +492,7 @@ struct hid_report_enum { · 491 unmodified lines
492492 };
493493
494494 #define HID_MIN_BUFFER_SIZE 64 /* make sure there is at least a packet size of space */
495−#define HID_MAX_BUFFER_SIZE 4096 /* 4kb */
495+#define HID_MAX_BUFFER_SIZE 8192 /* 8kb */
496496 #define HID_CONTROL_FIFO_SIZE 256 /* to init devices with >100 reports */
497497 #define HID_OUTPUT_FIFO_SIZE 64
498498
include/linux/icmpv6.h+10−6
@@ -22,19 +22,23 @@ extern int inet6_unregister_icmp_sender(ip6_icmp_send_t *fn); · 21 unmodified lines
2222 int ip6_err_gen_icmpv6_unreach(struct sk_buff *skb, int nhs, int type,
2323 unsigned int data_len);
2424
25+#if IS_ENABLED(CONFIG_NF_NAT)
26+void icmpv6_ndo_send(struct sk_buff *skb_in, u8 type, u8 code, __u32 info);
27+#else
28+#define icmpv6_ndo_send icmpv6_send
29+#endif
30+
2531 #else
2632
2733 static inline void icmpv6_send(struct sk_buff *skb,
2834 u8 type, u8 code, __u32 info)
2935 {
30−
3136 }
32−#endif
3337
34−#if IS_ENABLED(CONFIG_NF_NAT)
35−void icmpv6_ndo_send(struct sk_buff *skb_in, u8 type, u8 code, __u32 info);
36−#else
37−#define icmpv6_ndo_send icmpv6_send
38+static inline void icmpv6_ndo_send(struct sk_buff *skb,
39+ u8 type, u8 code, __u32 info)
40+{
41+}
3842 #endif
3943
4044 extern int icmpv6_init(void);
include/linux/intel-svm.h+1−1
@@ -122,7 +122,7 @@ static inline int intel_svm_unbind_mm(struct device *dev, int pasid) · 121 unmodified lines
122122 BUG();
123123 }
124124
125−static int intel_svm_is_pasid_valid(struct device *dev, int pasid)
125+static inline int intel_svm_is_pasid_valid(struct device *dev, int pasid)
126126 {
127127 return -EINVAL;
128128 }
include/linux/irqdomain.h+1−1
@@ -192,7 +192,7 @@ enum { · 191 unmodified lines
192192 IRQ_DOMAIN_FLAG_HIERARCHY = (1 << 0),
193193
194194 /* Irq domain name was allocated in __irq_domain_add() */
195− IRQ_DOMAIN_NAME_ALLOCATED = (1 << 6),
195+ IRQ_DOMAIN_NAME_ALLOCATED = (1 << 1),
196196
197197 /* Irq domain is an IPI domain with virq per cpu */
198198 IRQ_DOMAIN_FLAG_IPI_PER_CPU = (1 << 2),
include/linux/ktime.h+0−37
@@ -66,33 +66,15 @@ static inline ktime_t ktime_set(const s64 secs, const unsigned long nsecs) · 65 unmodified lines
6666 */
6767 #define ktime_sub_ns(kt, nsval) ((kt) - (nsval))
6868
69−/* convert a timespec to ktime_t format: */
70−static inline ktime_t timespec_to_ktime(struct timespec ts)
71−{
72− return ktime_set(ts.tv_sec, ts.tv_nsec);
73−}
74−
7569 /* convert a timespec64 to ktime_t format: */
7670 static inline ktime_t timespec64_to_ktime(struct timespec64 ts)
7771 {
7872 return ktime_set(ts.tv_sec, ts.tv_nsec);
7973 }
8074
81−/* convert a timeval to ktime_t format: */
82−static inline ktime_t timeval_to_ktime(struct timeval tv)
83−{
84− return ktime_set(tv.tv_sec, tv.tv_usec * NSEC_PER_USEC);
85−}
86−
87−/* Map the ktime_t to timespec conversion to ns_to_timespec function */
88−#define ktime_to_timespec(kt) ns_to_timespec((kt))
89−
9075 /* Map the ktime_t to timespec conversion to ns_to_timespec function */
9176 #define ktime_to_timespec64(kt) ns_to_timespec64((kt))
9277
93−/* Map the ktime_t to timeval conversion to ns_to_timeval function */
94−#define ktime_to_timeval(kt) ns_to_timeval((kt))
95−
9678 /* Convert ktime_t to nanoseconds */
9779 static inline s64 ktime_to_ns(const ktime_t kt)
9880 {
@@ -215,25 +197,6 @@ static inline ktime_t ktime_sub_ms(const ktime_t kt, const u64 msec) · 116 unmodified lines
215197
216198 extern ktime_t ktime_add_safe(const ktime_t lhs, const ktime_t rhs);
217199
218−/**
219− * ktime_to_timespec_cond - convert a ktime_t variable to timespec
220− * format only if the variable contains data
221− * @kt: the ktime_t variable to convert
222− * @ts: the timespec variable to store the result in
223− *
224− * Return: %true if there was a successful conversion, %false if kt was 0.
225− */
226−static inline __must_check bool ktime_to_timespec_cond(const ktime_t kt,
227− struct timespec *ts)
228−{
229− if (kt) {
230− *ts = ktime_to_timespec(kt);
231− return true;
232− } else {
233− return false;
234− }
235−}
236−
237200 /**
238201 * ktime_to_timespec64_cond - convert a ktime_t variable to timespec64
239202 * format only if the variable contains data
include/linux/kvm_host.h+3−1
@@ -889,6 +889,8 @@ int kvm_arch_vcpu_runnable(struct kvm_vcpu *vcpu); · 888 unmodified lines
889889 bool kvm_arch_vcpu_in_kernel(struct kvm_vcpu *vcpu);
890890 int kvm_arch_vcpu_should_kick(struct kvm_vcpu *vcpu);
891891 bool kvm_arch_dy_runnable(struct kvm_vcpu *vcpu);
892+int kvm_arch_post_init_vm(struct kvm *kvm);
893+void kvm_arch_pre_destroy_vm(struct kvm *kvm);
892894
893895 #ifndef __KVM_HAVE_ARCH_VM_ALLOC
894896 /*
@@ -1342,7 +1344,7 @@ static inline void kvm_vcpu_set_dy_eligible(struct kvm_vcpu *vcpu, bool val) · 447 unmodified lines
13421344 #endif /* CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT */
13431345
13441346 struct kvm_vcpu *kvm_get_running_vcpu(void);
1345−struct kvm_vcpu __percpu **kvm_get_running_vcpus(void);
1347+struct kvm_vcpu * __percpu *kvm_get_running_vcpus(void);
13461348
13471349 #ifdef CONFIG_HAVE_KVM_IRQ_BYPASS
13481350 bool kvm_arch_has_irq_bypass(void);
include/linux/mlx5/mlx5_ifc.h+4−1
@@ -688,7 +688,10 @@ struct mlx5_ifc_flow_table_nic_cap_bits { · 687 unmodified lines
688688 u8 nic_rx_multi_path_tirs[0x1];
689689 u8 nic_rx_multi_path_tirs_fts[0x1];
690690 u8 allow_sniffer_and_nic_rx_shared_tir[0x1];
691− u8 reserved_at_3[0x1d];
691+ u8 reserved_at_3[0x4];
692+ u8 sw_owner_reformat_supported[0x1];
693+ u8 reserved_at_8[0x18];
694+
692695 u8 encap_general_header[0x1];
693696 u8 reserved_at_21[0xa];
694697 u8 log_max_packet_reformat_context[0x5];
include/linux/mm.h+4−0
@@ -2715,6 +2715,10 @@ static inline bool debug_pagealloc_enabled_static(void) · 2714 unmodified lines
27152715 #if defined(CONFIG_DEBUG_PAGEALLOC) || defined(CONFIG_ARCH_HAS_SET_DIRECT_MAP)
27162716 extern void __kernel_map_pages(struct page *page, int numpages, int enable);
27172717
2718+/*
2719+ * When called in DEBUG_PAGEALLOC context, the call should most likely be
2720+ * guarded by debug_pagealloc_enabled() or debug_pagealloc_enabled_static()
2721+ */
27182722 static inline void
27192723 kernel_map_pages(struct page *page, int numpages, int enable)
27202724 {
include/linux/netdevice.h+3−4
@@ -72,6 +72,8 @@ void netdev_set_default_ethtool_ops(struct net_device *dev, · 71 unmodified lines
7272 #define NET_RX_SUCCESS 0 /* keep 'em coming, baby */
7373 #define NET_RX_DROP 1 /* packet dropped */
7474
75+#define MAX_NEST_DEV 8
76+
7577 /*
7678 * Transmit return codes: transmit return codes originate from three different
7779 * namespaces:
@@ -4389,11 +4391,8 @@ void *netdev_lower_get_next(struct net_device *dev, · 4311 unmodified lines
43894391 ldev; \
43904392 ldev = netdev_lower_get_next(dev, &(iter)))
43914393
4392−struct net_device *netdev_all_lower_get_next(struct net_device *dev,
4394+struct net_device *netdev_next_lower_dev_rcu(struct net_device *dev,
43934395 struct list_head **iter);
4394−struct net_device *netdev_all_lower_get_next_rcu(struct net_device *dev,
4395− struct list_head **iter);
4396−
43974396 int netdev_walk_all_lower_dev(struct net_device *dev,
43984397 int (*fn)(struct net_device *lower_dev,
43994398 void *data),
include/linux/netfilter/ipset/ip_set.h+10−1
@@ -121,6 +121,7 @@ struct ip_set_ext { · 120 unmodified lines
121121 u32 timeout;
122122 u8 packets_op;
123123 u8 bytes_op;
124+ bool target;
124125 };
125126
126127 struct ip_set;
@@ -187,6 +188,14 @@ struct ip_set_type_variant { · 60 unmodified lines
187188 /* Return true if "b" set is the same as "a"
188189 * according to the create set parameters */
189190 bool (*same_set)(const struct ip_set *a, const struct ip_set *b);
191+ /* Region-locking is used */
192+ bool region_lock;
193+};
194+
195+struct ip_set_region {
196+ spinlock_t lock; /* Region lock */
197+ size_t ext_size; /* Size of the dynamic extensions */
198+ u32 elements; /* Number of elements vs timeout */
190199 };
191200
192201 /* The core set type structure */
@@ -501,7 +510,7 @@ ip_set_init_skbinfo(struct ip_set_skbinfo *skbinfo, · 308 unmodified lines
501510 }
502511
503512 #define IP_SET_INIT_KEXT(skb, opt, set) \
504− { .bytes = (skb)->len, .packets = 1, \
513+ { .bytes = (skb)->len, .packets = 1, .target = true,\
505514 .timeout = ip_set_adt_opt_timeout(opt, set) }
506515
507516 #define IP_SET_INIT_UEXT(set) \
include/linux/platform_data/spi-omap2-mcspi.h+1−0
@@ -11,6 +11,7 @@ struct omap2_mcspi_platform_config { · 10 unmodified lines
1111 unsigned short num_cs;
1212 unsigned int regs_offset;
1313 unsigned int pin_dir:1;
14+ size_t max_xfer_len;
1415 };
1516
1617 struct omap2_mcspi_device_config {
include/linux/rculist_nulls.h+7−0
@@ -145,6 +145,13 @@ static inline void hlist_nulls_add_tail_rcu(struct hlist_nulls_node *n, · 144 unmodified lines
145145 }
146146 }
147147
148+/* after that hlist_nulls_del will work */
149+static inline void hlist_nulls_add_fake(struct hlist_nulls_node *n)
150+{
151+ n->pprev = &n->next;
152+ n->next = (struct hlist_nulls_node *)NULLS_MARKER(NULL);
153+}
154+
148155 /**
149156 * hlist_nulls_for_each_entry_rcu - iterate over rcu list of given type
150157 * @tpos: the type * to use as a loop cursor.
include/linux/skbuff.h+30−0
@@ -611,9 +611,15 @@ typedef unsigned char *sk_buff_data_t; · 610 unmodified lines
611611 * @next: Next buffer in list
612612 * @prev: Previous buffer in list
613613 * @tstamp: Time we arrived/left
614+ * @skb_mstamp_ns: (aka @tstamp) earliest departure time; start point
615+ * for retransmit timer
614616 * @rbnode: RB tree node, alternative to next/prev for netem/tcp
617+ * @list: queue head
615618 * @sk: Socket we are owned by
619+ * @ip_defrag_offset: (aka @sk) alternate use of @sk, used in
620+ * fragmentation management
616621 * @dev: Device we arrived on/are leaving by
622+ * @dev_scratch: (aka @dev) alternate use of @dev when @dev would be %NULL
617623 * @cb: Control buffer. Free for use by every layer. Put private vars here
618624 * @_skb_refdst: destination entry (with norefcount bit)
619625 * @sp: the security path, used for xfrm
@@ -632,6 +638,9 @@ typedef unsigned char *sk_buff_data_t; · 12 unmodified lines
632638 * @pkt_type: Packet class
633639 * @fclone: skbuff clone status
634640 * @ipvs_property: skbuff is owned by ipvs
641+ * @inner_protocol_type: whether the inner protocol is
642+ * ENCAP_TYPE_ETHER or ENCAP_TYPE_IPPROTO
643+ * @remcsum_offload: remote checksum offload is enabled
635644 * @offload_fwd_mark: Packet was L2-forwarded in hardware
636645 * @offload_l3_fwd_mark: Packet was L3-forwarded in hardware
637646 * @tc_skip_classify: do not classify packet. set by IFB device
@@ -650,6 +659,8 @@ typedef unsigned char *sk_buff_data_t; · 12 unmodified lines
650659 * @tc_index: Traffic control index
651660 * @hash: the packet hash
652661 * @queue_mapping: Queue mapping for multiqueue devices
662+ * @head_frag: skb was allocated from page fragments,
663+ * not allocated by kmalloc() or vmalloc().
653664 * @pfmemalloc: skbuff was allocated from PFMEMALLOC reserves
654665 * @active_extensions: active extensions (skb_ext_id types)
655666 * @ndisc_nodetype: router type (from link layer)
@@ -660,15 +671,28 @@ typedef unsigned char *sk_buff_data_t; · 4 unmodified lines
660671 * @wifi_acked_valid: wifi_acked was set
661672 * @wifi_acked: whether frame was acked on wifi or not
662673 * @no_fcs: Request NIC to treat last 4 bytes as Ethernet FCS
674+ * @encapsulation: indicates the inner headers in the skbuff are valid
675+ * @encap_hdr_csum: software checksum is needed
676+ * @csum_valid: checksum is already valid
663677 * @csum_not_inet: use CRC32c to resolve CHECKSUM_PARTIAL
678+ * @csum_complete_sw: checksum was completed by software
679+ * @csum_level: indicates the number of consecutive checksums found in
680+ * the packet minus one that have been verified as
681+ * CHECKSUM_UNNECESSARY (max 3)
664682 * @dst_pending_confirm: need to confirm neighbour
665683 * @decrypted: Decrypted SKB
666684 * @napi_id: id of the NAPI struct this skb came from
685+ * @sender_cpu: (aka @napi_id) source CPU in XPS
667686 * @secmark: security marking
668687 * @mark: Generic packet mark
688+ * @reserved_tailroom: (aka @mark) number of bytes of free space available
689+ * at the tail of an sk_buff
690+ * @vlan_present: VLAN tag is present
669691 * @vlan_proto: vlan encapsulation protocol
670692 * @vlan_tci: vlan tag control information
671693 * @inner_protocol: Protocol (encapsulation)
694+ * @inner_ipproto: (aka @inner_protocol) stores ipproto when
695+ * skb->inner_protocol_type == ENCAP_TYPE_IPPROTO;
672696 * @inner_transport_header: Inner transport layer header (encapsulation)
673697 * @inner_network_header: Network layer header (encapsulation)
674698 * @inner_mac_header: Link layer header (encapsulation)
@@ -750,7 +774,9 @@ struct sk_buff { · 75 unmodified lines
750774 #endif
751775 #define CLONED_OFFSET() offsetof(struct sk_buff, __cloned_offset)
752776
777+ /* private: */
753778 __u8 __cloned_offset[0];
779+ /* public: */
754780 __u8 cloned:1,
755781 nohdr:1,
756782 fclone:2,
@@ -775,7 +801,9 @@ struct sk_buff { · 18 unmodified lines
775801 #endif
776802 #define PKT_TYPE_OFFSET() offsetof(struct sk_buff, __pkt_type_offset)
777803
804+ /* private: */
778805 __u8 __pkt_type_offset[0];
806+ /* public: */
779807 __u8 pkt_type:3;
780808 __u8 ignore_df:1;
781809 __u8 nf_trace:1;
@@ -798,7 +826,9 @@ struct sk_buff { · 16 unmodified lines
798826 #define PKT_VLAN_PRESENT_BIT 0
799827 #endif
800828 #define PKT_VLAN_PRESENT_OFFSET() offsetof(struct sk_buff, __pkt_vlan_present_offset)
829+ /* private: */
801830 __u8 __pkt_vlan_present_offset[0];
831+ /* public: */
802832 __u8 vlan_present:1;
803833 __u8 csum_complete_sw:1;
804834 __u8 csum_level:2;
include/linux/swiotlb.h+3−8
@@ -64,6 +64,9 @@ extern void swiotlb_tbl_sync_single(struct device *hwdev, · 63 unmodified lines
6464 size_t size, enum dma_data_direction dir,
6565 enum dma_sync_target target);
6666
67+dma_addr_t swiotlb_map(struct device *dev, phys_addr_t phys,
68+ size_t size, enum dma_data_direction dir, unsigned long attrs);
69+
6770 #ifdef CONFIG_SWIOTLB
6871 extern enum swiotlb_force swiotlb_force;
6972 extern phys_addr_t io_tlb_start, io_tlb_end;
@@ -73,8 +76,6 @@ static inline bool is_swiotlb_buffer(phys_addr_t paddr) · 3 unmodified lines
7376 return paddr >= io_tlb_start && paddr < io_tlb_end;
7477 }
7578
76−bool swiotlb_map(struct device *dev, phys_addr_t *phys, dma_addr_t *dma_addr,
77− size_t size, enum dma_data_direction dir, unsigned long attrs);
7879 void __init swiotlb_exit(void);
7980 unsigned int swiotlb_max_segment(void);
8081 size_t swiotlb_max_mapping_size(struct device *dev);
@@ -85,12 +86,6 @@ static inline bool is_swiotlb_buffer(phys_addr_t paddr) · 4 unmodified lines
8586 {
8687 return false;
8788 }
88−static inline bool swiotlb_map(struct device *dev, phys_addr_t *phys,
89− dma_addr_t *dma_addr, size_t size, enum dma_data_direction dir,
90− unsigned long attrs)
91−{
92− return false;
93−}
9489 static inline void swiotlb_exit(void)
9590 {
9691 }
include/linux/time32.h+1−153
@@ -12,8 +12,6 @@ · 11 unmodified lines
1212 #include <linux/time64.h>
1313 #include <linux/timex.h>
1414
15−#define TIME_T_MAX (__kernel_old_time_t)((1UL << ((sizeof(__kernel_old_time_t) << 3) - 1)) - 1)
16−
1715 typedef s32 old_time32_t;
1816
1917 struct old_timespec32 {
@@ -73,162 +71,12 @@ struct __kernel_timex; · 53 unmodified lines
7371 int get_old_timex32(struct __kernel_timex *, const struct old_timex32 __user *);
7472 int put_old_timex32(struct old_timex32 __user *, const struct __kernel_timex *);
7573
76−#if __BITS_PER_LONG == 64
77−
78−/* timespec64 is defined as timespec here */
79−static inline struct timespec timespec64_to_timespec(const struct timespec64 ts64)
80−{
81− return *(const struct timespec *)&ts64;
82−}
83−
84−static inline struct timespec64 timespec_to_timespec64(const struct timespec ts)
85−{
86− return *(const struct timespec64 *)&ts;
87−}
88−
89−#else
90−static inline struct timespec timespec64_to_timespec(const struct timespec64 ts64)
91−{
92− struct timespec ret;
93−
94− ret.tv_sec = (time_t)ts64.tv_sec;
95− ret.tv_nsec = ts64.tv_nsec;
96− return ret;
97−}
98−
99−static inline struct timespec64 timespec_to_timespec64(const struct timespec ts)
100−{
101− struct timespec64 ret;
102−
103− ret.tv_sec = ts.tv_sec;
104− ret.tv_nsec = ts.tv_nsec;
105− return ret;
106−}
107−#endif
108−
109−static inline int timespec_equal(const struct timespec *a,
110− const struct timespec *b)
111−{
112− return (a->tv_sec == b->tv_sec) && (a->tv_nsec == b->tv_nsec);
113−}
114−
115−/*
116− * lhs < rhs: return <0
117− * lhs == rhs: return 0
118− * lhs > rhs: return >0
119− */
120−static inline int timespec_compare(const struct timespec *lhs, const struct timespec *rhs)
121−{
122− if (lhs->tv_sec < rhs->tv_sec)
123− return -1;
124− if (lhs->tv_sec > rhs->tv_sec)
125− return 1;
126− return lhs->tv_nsec - rhs->tv_nsec;
127−}
128−
129−/*
130− * Returns true if the timespec is norm, false if denorm:
131− */
132−static inline bool timespec_valid(const struct timespec *ts)
133−{
134− /* Dates before 1970 are bogus */
135− if (ts->tv_sec < 0)
136− return false;
137− /* Can't have more nanoseconds then a second */
138− if ((unsigned long)ts->tv_nsec >= NSEC_PER_SEC)
139− return false;
140− return true;
141−}
142−
143−/**
144− * timespec_to_ns - Convert timespec to nanoseconds
145− * @ts: pointer to the timespec variable to be converted
146− *
147− * Returns the scalar nanosecond representation of the timespec
148− * parameter.
149− */
150−static inline s64 timespec_to_ns(const struct timespec *ts)
151−{
152− return ((s64) ts->tv_sec * NSEC_PER_SEC) + ts->tv_nsec;
153−}
154−
15574 /**
156− * ns_to_timespec - Convert nanoseconds to timespec
157− * @nsec: the nanoseconds value to be converted
158− *
159− * Returns the timespec representation of the nsec parameter.
160− */
161−extern struct timespec ns_to_timespec(const s64 nsec);
162−
163−/**
164− * timespec_add_ns - Adds nanoseconds to a timespec
165− * @a: pointer to timespec to be incremented
166− * @ns: unsigned nanoseconds value to be added
167− *
168− * This must always be inlined because its used from the x86-64 vdso,
169− * which cannot call other kernel functions.
170− */
171−static __always_inline void timespec_add_ns(struct timespec *a, u64 ns)
172−{
173− a->tv_sec += __iter_div_u64_rem(a->tv_nsec + ns, NSEC_PER_SEC, &ns);
174− a->tv_nsec = ns;
175−}
176−
177−static inline unsigned long mktime(const unsigned int year,
178− const unsigned int mon, const unsigned int day,
179− const unsigned int hour, const unsigned int min,
180− const unsigned int sec)
181−{
182− return mktime64(year, mon, day, hour, min, sec);
183−}
184−
185−static inline bool timeval_valid(const struct timeval *tv)
186−{
187− /* Dates before 1970 are bogus */
188− if (tv->tv_sec < 0)
189− return false;
190−
191− /* Can't have more microseconds then a second */
192− if (tv->tv_usec < 0 || tv->tv_usec >= USEC_PER_SEC)
193− return false;
194−
195− return true;
196−}
197−
198−/**
199− * timeval_to_ns - Convert timeval to nanoseconds
200− * @ts: pointer to the timeval variable to be converted
201− *
202− * Returns the scalar nanosecond representation of the timeval
203− * parameter.
204− */
205−static inline s64 timeval_to_ns(const struct timeval *tv)
206−{
207− return ((s64) tv->tv_sec * NSEC_PER_SEC) +
208− tv->tv_usec * NSEC_PER_USEC;
209−}
210−
211−/**
212− * ns_to_timeval - Convert nanoseconds to timeval
75+ * ns_to_kernel_old_timeval - Convert nanoseconds to timeval
21376 * @nsec: the nanoseconds value to be converted
21477 *
21578 * Returns the timeval representation of the nsec parameter.
21679 */
217−extern struct timeval ns_to_timeval(const s64 nsec);
21880 extern struct __kernel_old_timeval ns_to_kernel_old_timeval(s64 nsec);
21981
220−/*
221− * Old names for the 32-bit time_t interfaces, these will be removed
222− * when everything uses the new names.
223− */
224−#define compat_time_t old_time32_t
225−#define compat_timeval old_timeval32
226−#define compat_timespec old_timespec32
227−#define compat_itimerspec old_itimerspec32
228−#define ns_to_compat_timeval ns_to_old_timeval32
229−#define get_compat_itimerspec64 get_old_itimerspec32
230−#define put_compat_itimerspec64 put_old_itimerspec32
231−#define compat_get_timespec64 get_old_timespec32
232−#define compat_put_timespec64 put_old_timespec32
233−
23482 #endif
include/linux/timekeeping32.h+0−32
@@ -11,36 +11,4 @@ static inline unsigned long get_seconds(void) · 10 unmodified lines
1111 return ktime_get_real_seconds();
1212 }
1313
14−static inline void getnstimeofday(struct timespec *ts)
15−{
16− struct timespec64 ts64;
17−
18− ktime_get_real_ts64(&ts64);
19− *ts = timespec64_to_timespec(ts64);
20−}
21−
22−static inline void ktime_get_ts(struct timespec *ts)
23−{
24− struct timespec64 ts64;
25−
26− ktime_get_ts64(&ts64);
27− *ts = timespec64_to_timespec(ts64);
28−}
29−
30−static inline void getrawmonotonic(struct timespec *ts)
31−{
32− struct timespec64 ts64;
33−
34− ktime_get_raw_ts64(&ts64);
35− *ts = timespec64_to_timespec(ts64);
36−}
37−
38−static inline void getboottime(struct timespec *ts)
39−{
40− struct timespec64 ts64;
41−
42− getboottime64(&ts64);
43− *ts = timespec64_to_timespec(ts64);
44−}
45−
4614 #endif
include/linux/tty.h+2−0
@@ -225,6 +225,8 @@ struct tty_port_client_operations { · 224 unmodified lines
225225 void (*write_wakeup)(struct tty_port *port);
226226 };
227227
228+extern const struct tty_port_client_operations tty_port_default_client_ops;
229+
228230 struct tty_port {
229231 struct tty_bufhead buf; /* Locked internally */
230232 struct tty_struct *tty; /* Back pointer */
include/linux/types.h+0−5
@@ -65,11 +65,6 @@ typedef __kernel_ssize_t ssize_t; · 64 unmodified lines
6565 typedef __kernel_ptrdiff_t ptrdiff_t;
6666 #endif
6767
68−#ifndef _TIME_T
69−#define _TIME_T
70−typedef __kernel_old_time_t time_t;
71−#endif
72−
7368 #ifndef _CLOCK_T
7469 #define _CLOCK_T
7570 typedef __kernel_clock_t clock_t;
include/linux/usb/quirks.h+3−0
@@ -69,4 +69,7 @@ · 68 unmodified lines
6969 /* Hub needs extra delay after resetting its port. */
7070 #define USB_QUIRK_HUB_SLOW_RESET BIT(14)
7171
72+/* device has blacklisted endpoints */
73+#define USB_QUIRK_ENDPOINT_BLACKLIST BIT(15)
74+
7275 #endif /* __LINUX_USB_QUIRKS_H */