History

Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net

Overlapping header include additions in macsec.c A bug fix in 'net' overlapping with the removal of 'version' string in ena_netdev.c Overlapping test additions in selftests Makefile Overlapping PCI ID table adjustments in iwlwifi driver.

David S. Miller committed 6 years ago

Commit 9fb16952 parents 1f074e6 1b649e0416 files · +4242 −1919Browse files

Showing the changes to include/linux (14 of 416 files). Show all

Unified · Split

14 files
  1. include/linux/dmar.h +9 −5
  2. include/linux/dsa/8021q.h +0 −7
  3. include/linux/file.h +1 −0
  4. include/linux/fs.h +1 −0
  5. include/linux/futex.h +10 −7
  6. include/linux/genhd.h +1 −12
  7. include/linux/intel-iommu.h +2 −0
  8. include/linux/mmc/host.h +1 −0
  9. include/linux/netlink.h +13 −0
  10. include/linux/of_clk.h +4 −4
  11. include/linux/page-flags.h +1 −1
  12. include/linux/skbuff.h +32 −4
  13. include/linux/socket.h +2 −1
  14. include/linux/vmalloc.h +3 −2
include/linux/dmar.h+9−5
@@ -69,19 +69,23 @@ struct dmar_pci_notify_info { · 68 unmodified lines
6969 extern struct rw_semaphore dmar_global_lock;
7070 extern struct list_head dmar_drhd_units;
7171
72−#define for_each_drhd_unit(drhd) \
73− list_for_each_entry_rcu(drhd, &dmar_drhd_units, list)
72+#define for_each_drhd_unit(drhd) \
73+ list_for_each_entry_rcu(drhd, &dmar_drhd_units, list, \
74+ dmar_rcu_check())
7475
7576 #define for_each_active_drhd_unit(drhd) \
76− list_for_each_entry_rcu(drhd, &dmar_drhd_units, list) \
77+ list_for_each_entry_rcu(drhd, &dmar_drhd_units, list, \
78+ dmar_rcu_check()) \
7779 if (drhd->ignored) {} else
7880
7981 #define for_each_active_iommu(i, drhd) \
80− list_for_each_entry_rcu(drhd, &dmar_drhd_units, list) \
82+ list_for_each_entry_rcu(drhd, &dmar_drhd_units, list, \
83+ dmar_rcu_check()) \
8184 if (i=drhd->iommu, drhd->ignored) {} else
8285
8386 #define for_each_iommu(i, drhd) \
84− list_for_each_entry_rcu(drhd, &dmar_drhd_units, list) \
87+ list_for_each_entry_rcu(drhd, &dmar_drhd_units, list, \
88+ dmar_rcu_check()) \
8589 if (i=drhd->iommu, 0) {} else
8690
8791 static inline bool dmar_rcu_check(void)
include/linux/dsa/8021q.h+0−7
@@ -28,8 +28,6 @@ int dsa_8021q_rx_switch_id(u16 vid); · 27 unmodified lines
2828
2929 int dsa_8021q_rx_source_port(u16 vid);
3030
31−struct sk_buff *dsa_8021q_remove_header(struct sk_buff *skb);
32−
3331 #else
3432
3533 int dsa_port_setup_8021q_tagging(struct dsa_switch *ds, int index,
@@ -64,11 +62,6 @@ int dsa_8021q_rx_source_port(u16 vid) · 28 unmodified lines
6462 return 0;
6563 }
6664
67−struct sk_buff *dsa_8021q_remove_header(struct sk_buff *skb)
68−{
69− return NULL;
70−}
71−
7265 #endif /* IS_ENABLED(CONFIG_NET_DSA_TAG_8021Q) */
7366
7467 #endif /* _NET_DSA_8021Q_H */
include/linux/file.h+1−0
@@ -85,6 +85,7 @@ extern int f_dupfd(unsigned int from, struct file *file, unsigned flags); · 84 unmodified lines
8585 extern int replace_fd(unsigned fd, struct file *file, unsigned flags);
8686 extern void set_close_on_exec(unsigned int fd, int flag);
8787 extern bool get_close_on_exec(unsigned int fd);
88+extern int __get_unused_fd_flags(unsigned flags, unsigned long nofile);
8889 extern int get_unused_fd_flags(unsigned flags);
8990 extern void put_unused_fd(unsigned int fd);
9091
include/linux/fs.h+1−0
@@ -698,6 +698,7 @@ struct inode { · 697 unmodified lines
698698 struct rcu_head i_rcu;
699699 };
700700 atomic64_t i_version;
701+ atomic64_t i_sequence; /* see futex */
701702 atomic_t i_count;
702703 atomic_t i_dio_count;
703704 atomic_t i_writecount;
include/linux/futex.h+10−7
@@ -31,23 +31,26 @@ struct task_struct; · 30 unmodified lines
3131
3232 union futex_key {
3333 struct {
34+ u64 i_seq;
3435 unsigned long pgoff;
35− struct inode *inode;
36− int offset;
36+ unsigned int offset;
3737 } shared;
3838 struct {
39+ union {
40+ struct mm_struct *mm;
41+ u64 __tmp;
42+ };
3943 unsigned long address;
40− struct mm_struct *mm;
41− int offset;
44+ unsigned int offset;
4245 } private;
4346 struct {
47+ u64 ptr;
4448 unsigned long word;
45− void *ptr;
46− int offset;
49+ unsigned int offset;
4750 } both;
4851 };
4952
50−#define FUTEX_KEY_INIT (union futex_key) { .both = { .ptr = NULL } }
53+#define FUTEX_KEY_INIT (union futex_key) { .both = { .ptr = 0ULL } }
5154
5255 #ifdef CONFIG_FUTEX
5356 enum {
include/linux/genhd.h+1−12
@@ -245,18 +245,6 @@ static inline bool disk_part_scan_enabled(struct gendisk *disk) · 244 unmodified lines
245245 !(disk->flags & GENHD_FL_NO_PART_SCAN);
246246 }
247247
248−static inline bool disk_has_partitions(struct gendisk *disk)
249−{
250− bool ret = false;
251−
252− rcu_read_lock();
253− if (rcu_dereference(disk->part_tbl)->len > 1)
254− ret = true;
255− rcu_read_unlock();
256−
257− return ret;
258−}
259−
260248 static inline dev_t disk_devt(struct gendisk *disk)
261249 {
262250 return MKDEV(disk->major, disk->first_minor);
@@ -298,6 +286,7 @@ extern void disk_part_iter_exit(struct disk_part_iter *piter); · 35 unmodified lines
298286
299287 extern struct hd_struct *disk_map_sector_rcu(struct gendisk *disk,
300288 sector_t sector);
289+bool disk_has_partitions(struct gendisk *disk);
301290
302291 /*
303292 * Macros to operate on percpu disk statistics:
include/linux/intel-iommu.h+2−0
@@ -123,6 +123,8 @@ · 122 unmodified lines
123123
124124 #define dmar_readq(a) readq(a)
125125 #define dmar_writeq(a,v) writeq(v,a)
126+#define dmar_readl(a) readl(a)
127+#define dmar_writel(a, v) writel(v, a)
126128
127129 #define DMAR_VER_MAJOR(v) (((v) & 0xf0) >> 4)
128130 #define DMAR_VER_MINOR(v) ((v) & 0x0f)
include/linux/mmc/host.h+1−0
@@ -333,6 +333,7 @@ struct mmc_host { · 332 unmodified lines
333333 MMC_CAP_UHS_SDR50 | MMC_CAP_UHS_SDR104 | \
334334 MMC_CAP_UHS_DDR50)
335335 #define MMC_CAP_SYNC_RUNTIME_PM (1 << 21) /* Synced runtime PM suspends. */
336+#define MMC_CAP_NEED_RSP_BUSY (1 << 22) /* Commands with R1B can't use R1. */
336337 #define MMC_CAP_DRIVER_TYPE_A (1 << 23) /* Host supports Driver Type A */
337338 #define MMC_CAP_DRIVER_TYPE_C (1 << 24) /* Host supports Driver Type C */
338339 #define MMC_CAP_DRIVER_TYPE_D (1 << 25) /* Host supports Driver Type D */
include/linux/netlink.h+13−0
@@ -115,6 +115,19 @@ static inline void nl_set_extack_cookie_u64(struct netlink_ext_ack *extack, · 114 unmodified lines
115115 {
116116 u64 __cookie = cookie;
117117
118+ if (!extack)
119+ return;
120+ memcpy(extack->cookie, &__cookie, sizeof(__cookie));
121+ extack->cookie_len = sizeof(__cookie);
122+}
123+
124+static inline void nl_set_extack_cookie_u32(struct netlink_ext_ack *extack,
125+ u32 cookie)
126+{
127+ u32 __cookie = cookie;
128+
129+ if (!extack)
130+ return;
118131 memcpy(extack->cookie, &__cookie, sizeof(__cookie));
119132 extack->cookie_len = sizeof(__cookie);
120133 }
include/linux/of_clk.h+4−4
@@ -11,17 +11,17 @@ struct of_device_id; · 10 unmodified lines
1111
1212 #if defined(CONFIG_COMMON_CLK) && defined(CONFIG_OF)
1313
14−unsigned int of_clk_get_parent_count(struct device_node *np);
15−const char *of_clk_get_parent_name(struct device_node *np, int index);
14+unsigned int of_clk_get_parent_count(const struct device_node *np);
15+const char *of_clk_get_parent_name(const struct device_node *np, int index);
1616 void of_clk_init(const struct of_device_id *matches);
1717
1818 #else /* !CONFIG_COMMON_CLK || !CONFIG_OF */
1919
20−static inline unsigned int of_clk_get_parent_count(struct device_node *np)
20+static inline unsigned int of_clk_get_parent_count(const struct device_node *np)
2121 {
2222 return 0;
2323 }
24−static inline const char *of_clk_get_parent_name(struct device_node *np,
24+static inline const char *of_clk_get_parent_name(const struct device_node *np,
2525 int index)
2626 {
2727 return NULL;
include/linux/page-flags.h+1−1
@@ -311,7 +311,7 @@ static inline int TestClearPage##uname(struct page *page) { return 0; } · 310 unmodified lines
311311
312312 __PAGEFLAG(Locked, locked, PF_NO_TAIL)
313313 PAGEFLAG(Waiters, waiters, PF_ONLY_HEAD) __CLEARPAGEFLAG(Waiters, waiters, PF_ONLY_HEAD)
314−PAGEFLAG(Error, error, PF_NO_COMPOUND) TESTCLEARFLAG(Error, error, PF_NO_COMPOUND)
314+PAGEFLAG(Error, error, PF_NO_TAIL) TESTCLEARFLAG(Error, error, PF_NO_TAIL)
315315 PAGEFLAG(Referenced, referenced, PF_HEAD)
316316 TESTCLEARFLAG(Referenced, referenced, PF_HEAD)
317317 __SETPAGEFLAG(Referenced, referenced, PF_HEAD)
include/linux/skbuff.h+32−4
@@ -645,8 +645,8 @@ typedef unsigned char *sk_buff_data_t; · 644 unmodified lines
645645 * @offload_l3_fwd_mark: Packet was L3-forwarded in hardware
646646 * @tc_skip_classify: do not classify packet. set by IFB device
647647 * @tc_at_ingress: used within tc_classify to distinguish in/egress
648− * @tc_redirected: packet was redirected by a tc action
649− * @tc_from_ingress: if tc_redirected, tc_at_ingress at time of redirect
648+ * @redirected: packet was redirected by packet classifier
649+ * @from_ingress: packet was redirected from the ingress path
650650 * @peeked: this packet has been seen already, so stats have been
651651 * done for it, don't do them again
652652 * @nf_trace: netfilter packet trace flag
@@ -848,8 +848,10 @@ struct sk_buff { · 195 unmodified lines
848848 #ifdef CONFIG_NET_CLS_ACT
849849 __u8 tc_skip_classify:1;
850850 __u8 tc_at_ingress:1;
851− __u8 tc_redirected:1;
852− __u8 tc_from_ingress:1;
851+#endif
852+#ifdef CONFIG_NET_REDIRECT
853+ __u8 redirected:1;
854+ __u8 from_ingress:1;
853855 #endif
854856 #ifdef CONFIG_TLS_DEVICE
855857 __u8 decrypted:1;
@@ -4571,5 +4573,31 @@ static inline __wsum lco_csum(struct sk_buff *skb) · 3715 unmodified lines
45714573 return csum_partial(l4_hdr, csum_start - l4_hdr, partial);
45724574 }
45734575
4576+static inline bool skb_is_redirected(const struct sk_buff *skb)
4577+{
4578+#ifdef CONFIG_NET_REDIRECT
4579+ return skb->redirected;
4580+#else
4581+ return false;
4582+#endif
4583+}
4584+
4585+static inline void skb_set_redirected(struct sk_buff *skb, bool from_ingress)
4586+{
4587+#ifdef CONFIG_NET_REDIRECT
4588+ skb->redirected = 1;
4589+ skb->from_ingress = from_ingress;
4590+ if (skb->from_ingress)
4591+ skb->tstamp = 0;
4592+#endif
4593+}
4594+
4595+static inline void skb_reset_redirect(struct sk_buff *skb)
4596+{
4597+#ifdef CONFIG_NET_REDIRECT
4598+ skb->redirected = 0;
4599+#endif
4600+}
4601+
45744602 #endif /* __KERNEL__ */
45754603 #endif /* _LINUX_SKBUFF_H */
include/linux/socket.h+2−1
@@ -401,7 +401,8 @@ extern int __sys_sendto(int fd, void __user *buff, size_t len, · 400 unmodified lines
401401 int addr_len);
402402 extern int __sys_accept4_file(struct file *file, unsigned file_flags,
403403 struct sockaddr __user *upeer_sockaddr,
404− int __user *upeer_addrlen, int flags);
404+ int __user *upeer_addrlen, int flags,
405+ unsigned long nofile);
405406 extern int __sys_accept4(int fd, struct sockaddr __user *upeer_sockaddr,
406407 int __user *upeer_addrlen, int flags);
407408 extern int __sys_socket(int family, int type, int protocol);
include/linux/vmalloc.h+3−2
@@ -141,8 +141,9 @@ extern int remap_vmalloc_range_partial(struct vm_area_struct *vma, · 140 unmodified lines
141141
142142 extern int remap_vmalloc_range(struct vm_area_struct *vma, void *addr,
143143 unsigned long pgoff);
144−void vmalloc_sync_all(void);
145−
144+void vmalloc_sync_mappings(void);
145+void vmalloc_sync_unmappings(void);
146+
146147 /*
147148 * Lowlevel-APIs (not for driver use!)
148149 */