diff options
| author | Wolfram Sang <wsa@the-dreams.de> | 2018-10-11 17:07:30 -0400 |
|---|---|---|
| committer | Wolfram Sang <wsa@the-dreams.de> | 2018-10-11 17:07:30 -0400 |
| commit | 90fb814b6c025da45f71db1703cffe3fe87f575c (patch) | |
| tree | 5fd739d407654df6f9d6e82900a45e027dd8b9f0 /include/linux | |
| parent | b30f2f65568f840e5ca522d98ba2ad73b8f59cde (diff) | |
| parent | 0238df646e6224016a45505d2c111a24669ebe21 (diff) | |
Merge tag 'v4.19-rc7' into i2c/for-4.20
This is the 4.19-rc7 release
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/fpga/fpga-mgr.h | 20 | ||||
| -rw-r--r-- | include/linux/fs.h | 17 | ||||
| -rw-r--r-- | include/linux/hugetlb.h | 14 | ||||
| -rw-r--r-- | include/linux/mlx5/transobj.h | 2 | ||||
| -rw-r--r-- | include/linux/mm.h | 6 | ||||
| -rw-r--r-- | include/linux/mmzone.h | 6 | ||||
| -rw-r--r-- | include/linux/netdevice.h | 3 | ||||
| -rw-r--r-- | include/linux/netfilter.h | 2 | ||||
| -rw-r--r-- | include/linux/serial_sci.h | 1 | ||||
| -rw-r--r-- | include/linux/virtio_net.h | 18 |
10 files changed, 63 insertions, 26 deletions
diff --git a/include/linux/fpga/fpga-mgr.h b/include/linux/fpga/fpga-mgr.h index 8942e61f0028..8ab5df769923 100644 --- a/include/linux/fpga/fpga-mgr.h +++ b/include/linux/fpga/fpga-mgr.h | |||
| @@ -53,12 +53,20 @@ enum fpga_mgr_states { | |||
| 53 | FPGA_MGR_STATE_OPERATING, | 53 | FPGA_MGR_STATE_OPERATING, |
| 54 | }; | 54 | }; |
| 55 | 55 | ||
| 56 | /* | 56 | /** |
| 57 | * FPGA Manager flags | 57 | * DOC: FPGA Manager flags |
| 58 | * FPGA_MGR_PARTIAL_RECONFIG: do partial reconfiguration if supported | 58 | * |
| 59 | * FPGA_MGR_EXTERNAL_CONFIG: FPGA has been configured prior to Linux booting | 59 | * Flags used in the &fpga_image_info->flags field |
| 60 | * FPGA_MGR_BITSTREAM_LSB_FIRST: SPI bitstream bit order is LSB first | 60 | * |
| 61 | * FPGA_MGR_COMPRESSED_BITSTREAM: FPGA bitstream is compressed | 61 | * %FPGA_MGR_PARTIAL_RECONFIG: do partial reconfiguration if supported |
| 62 | * | ||
| 63 | * %FPGA_MGR_EXTERNAL_CONFIG: FPGA has been configured prior to Linux booting | ||
| 64 | * | ||
| 65 | * %FPGA_MGR_ENCRYPTED_BITSTREAM: indicates bitstream is encrypted | ||
| 66 | * | ||
| 67 | * %FPGA_MGR_BITSTREAM_LSB_FIRST: SPI bitstream bit order is LSB first | ||
| 68 | * | ||
| 69 | * %FPGA_MGR_COMPRESSED_BITSTREAM: FPGA bitstream is compressed | ||
| 62 | */ | 70 | */ |
| 63 | #define FPGA_MGR_PARTIAL_RECONFIG BIT(0) | 71 | #define FPGA_MGR_PARTIAL_RECONFIG BIT(0) |
| 64 | #define FPGA_MGR_EXTERNAL_CONFIG BIT(1) | 72 | #define FPGA_MGR_EXTERNAL_CONFIG BIT(1) |
diff --git a/include/linux/fs.h b/include/linux/fs.h index 6c0b4a1c22ff..897eae8faee1 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h | |||
| @@ -1828,8 +1828,10 @@ extern ssize_t vfs_copy_file_range(struct file *, loff_t , struct file *, | |||
| 1828 | extern int vfs_clone_file_prep_inodes(struct inode *inode_in, loff_t pos_in, | 1828 | extern int vfs_clone_file_prep_inodes(struct inode *inode_in, loff_t pos_in, |
| 1829 | struct inode *inode_out, loff_t pos_out, | 1829 | struct inode *inode_out, loff_t pos_out, |
| 1830 | u64 *len, bool is_dedupe); | 1830 | u64 *len, bool is_dedupe); |
| 1831 | extern int do_clone_file_range(struct file *file_in, loff_t pos_in, | ||
| 1832 | struct file *file_out, loff_t pos_out, u64 len); | ||
| 1831 | extern int vfs_clone_file_range(struct file *file_in, loff_t pos_in, | 1833 | extern int vfs_clone_file_range(struct file *file_in, loff_t pos_in, |
| 1832 | struct file *file_out, loff_t pos_out, u64 len); | 1834 | struct file *file_out, loff_t pos_out, u64 len); |
| 1833 | extern int vfs_dedupe_file_range_compare(struct inode *src, loff_t srcoff, | 1835 | extern int vfs_dedupe_file_range_compare(struct inode *src, loff_t srcoff, |
| 1834 | struct inode *dest, loff_t destoff, | 1836 | struct inode *dest, loff_t destoff, |
| 1835 | loff_t len, bool *is_same); | 1837 | loff_t len, bool *is_same); |
| @@ -2773,19 +2775,6 @@ static inline void file_end_write(struct file *file) | |||
| 2773 | __sb_end_write(file_inode(file)->i_sb, SB_FREEZE_WRITE); | 2775 | __sb_end_write(file_inode(file)->i_sb, SB_FREEZE_WRITE); |
| 2774 | } | 2776 | } |
| 2775 | 2777 | ||
| 2776 | static inline int do_clone_file_range(struct file *file_in, loff_t pos_in, | ||
| 2777 | struct file *file_out, loff_t pos_out, | ||
| 2778 | u64 len) | ||
| 2779 | { | ||
| 2780 | int ret; | ||
| 2781 | |||
| 2782 | file_start_write(file_out); | ||
| 2783 | ret = vfs_clone_file_range(file_in, pos_in, file_out, pos_out, len); | ||
| 2784 | file_end_write(file_out); | ||
| 2785 | |||
| 2786 | return ret; | ||
| 2787 | } | ||
| 2788 | |||
| 2789 | /* | 2778 | /* |
| 2790 | * get_write_access() gets write permission for a file. | 2779 | * get_write_access() gets write permission for a file. |
| 2791 | * put_write_access() releases this write permission. | 2780 | * put_write_access() releases this write permission. |
diff --git a/include/linux/hugetlb.h b/include/linux/hugetlb.h index 6b68e345f0ca..087fd5f48c91 100644 --- a/include/linux/hugetlb.h +++ b/include/linux/hugetlb.h | |||
| @@ -140,6 +140,8 @@ pte_t *huge_pte_alloc(struct mm_struct *mm, | |||
| 140 | pte_t *huge_pte_offset(struct mm_struct *mm, | 140 | pte_t *huge_pte_offset(struct mm_struct *mm, |
| 141 | unsigned long addr, unsigned long sz); | 141 | unsigned long addr, unsigned long sz); |
| 142 | int huge_pmd_unshare(struct mm_struct *mm, unsigned long *addr, pte_t *ptep); | 142 | int huge_pmd_unshare(struct mm_struct *mm, unsigned long *addr, pte_t *ptep); |
| 143 | void adjust_range_if_pmd_sharing_possible(struct vm_area_struct *vma, | ||
| 144 | unsigned long *start, unsigned long *end); | ||
| 143 | struct page *follow_huge_addr(struct mm_struct *mm, unsigned long address, | 145 | struct page *follow_huge_addr(struct mm_struct *mm, unsigned long address, |
| 144 | int write); | 146 | int write); |
| 145 | struct page *follow_huge_pd(struct vm_area_struct *vma, | 147 | struct page *follow_huge_pd(struct vm_area_struct *vma, |
| @@ -170,6 +172,18 @@ static inline unsigned long hugetlb_total_pages(void) | |||
| 170 | return 0; | 172 | return 0; |
| 171 | } | 173 | } |
| 172 | 174 | ||
| 175 | static inline int huge_pmd_unshare(struct mm_struct *mm, unsigned long *addr, | ||
| 176 | pte_t *ptep) | ||
| 177 | { | ||
| 178 | return 0; | ||
| 179 | } | ||
| 180 | |||
| 181 | static inline void adjust_range_if_pmd_sharing_possible( | ||
| 182 | struct vm_area_struct *vma, | ||
| 183 | unsigned long *start, unsigned long *end) | ||
| 184 | { | ||
| 185 | } | ||
| 186 | |||
| 173 | #define follow_hugetlb_page(m,v,p,vs,a,b,i,w,n) ({ BUG(); 0; }) | 187 | #define follow_hugetlb_page(m,v,p,vs,a,b,i,w,n) ({ BUG(); 0; }) |
| 174 | #define follow_huge_addr(mm, addr, write) ERR_PTR(-EINVAL) | 188 | #define follow_huge_addr(mm, addr, write) ERR_PTR(-EINVAL) |
| 175 | #define copy_hugetlb_page_range(src, dst, vma) ({ BUG(); 0; }) | 189 | #define copy_hugetlb_page_range(src, dst, vma) ({ BUG(); 0; }) |
diff --git a/include/linux/mlx5/transobj.h b/include/linux/mlx5/transobj.h index 83a33a1873a6..7f5ca2cd3a32 100644 --- a/include/linux/mlx5/transobj.h +++ b/include/linux/mlx5/transobj.h | |||
| @@ -90,6 +90,8 @@ struct mlx5_hairpin { | |||
| 90 | 90 | ||
| 91 | u32 *rqn; | 91 | u32 *rqn; |
| 92 | u32 *sqn; | 92 | u32 *sqn; |
| 93 | |||
| 94 | bool peer_gone; | ||
| 93 | }; | 95 | }; |
| 94 | 96 | ||
| 95 | struct mlx5_hairpin * | 97 | struct mlx5_hairpin * |
diff --git a/include/linux/mm.h b/include/linux/mm.h index a61ebe8ad4ca..0416a7204be3 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h | |||
| @@ -2455,6 +2455,12 @@ static inline struct vm_area_struct *find_exact_vma(struct mm_struct *mm, | |||
| 2455 | return vma; | 2455 | return vma; |
| 2456 | } | 2456 | } |
| 2457 | 2457 | ||
| 2458 | static inline bool range_in_vma(struct vm_area_struct *vma, | ||
| 2459 | unsigned long start, unsigned long end) | ||
| 2460 | { | ||
| 2461 | return (vma && vma->vm_start <= start && end <= vma->vm_end); | ||
| 2462 | } | ||
| 2463 | |||
| 2458 | #ifdef CONFIG_MMU | 2464 | #ifdef CONFIG_MMU |
| 2459 | pgprot_t vm_get_page_prot(unsigned long vm_flags); | 2465 | pgprot_t vm_get_page_prot(unsigned long vm_flags); |
| 2460 | void vma_set_page_prot(struct vm_area_struct *vma); | 2466 | void vma_set_page_prot(struct vm_area_struct *vma); |
diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h index 1e22d96734e0..3f4c0b167333 100644 --- a/include/linux/mmzone.h +++ b/include/linux/mmzone.h | |||
| @@ -671,12 +671,6 @@ typedef struct pglist_data { | |||
| 671 | #ifdef CONFIG_NUMA_BALANCING | 671 | #ifdef CONFIG_NUMA_BALANCING |
| 672 | /* Lock serializing the migrate rate limiting window */ | 672 | /* Lock serializing the migrate rate limiting window */ |
| 673 | spinlock_t numabalancing_migrate_lock; | 673 | spinlock_t numabalancing_migrate_lock; |
| 674 | |||
| 675 | /* Rate limiting time interval */ | ||
| 676 | unsigned long numabalancing_migrate_next_window; | ||
| 677 | |||
| 678 | /* Number of pages migrated during the rate limiting time interval */ | ||
| 679 | unsigned long numabalancing_migrate_nr_pages; | ||
| 680 | #endif | 674 | #endif |
| 681 | /* | 675 | /* |
| 682 | * This is a per-node reserve of pages that are not available | 676 | * This is a per-node reserve of pages that are not available |
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index ca5ab98053c8..c7861e4b402c 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h | |||
| @@ -1730,6 +1730,8 @@ enum netdev_priv_flags { | |||
| 1730 | * switch driver and used to set the phys state of the | 1730 | * switch driver and used to set the phys state of the |
| 1731 | * switch port. | 1731 | * switch port. |
| 1732 | * | 1732 | * |
| 1733 | * @wol_enabled: Wake-on-LAN is enabled | ||
| 1734 | * | ||
| 1733 | * FIXME: cleanup struct net_device such that network protocol info | 1735 | * FIXME: cleanup struct net_device such that network protocol info |
| 1734 | * moves out. | 1736 | * moves out. |
| 1735 | */ | 1737 | */ |
| @@ -2014,6 +2016,7 @@ struct net_device { | |||
| 2014 | struct lock_class_key *qdisc_tx_busylock; | 2016 | struct lock_class_key *qdisc_tx_busylock; |
| 2015 | struct lock_class_key *qdisc_running_key; | 2017 | struct lock_class_key *qdisc_running_key; |
| 2016 | bool proto_down; | 2018 | bool proto_down; |
| 2019 | unsigned wol_enabled:1; | ||
| 2017 | }; | 2020 | }; |
| 2018 | #define to_net_dev(d) container_of(d, struct net_device, dev) | 2021 | #define to_net_dev(d) container_of(d, struct net_device, dev) |
| 2019 | 2022 | ||
diff --git a/include/linux/netfilter.h b/include/linux/netfilter.h index 07efffd0c759..bbe99d2b28b4 100644 --- a/include/linux/netfilter.h +++ b/include/linux/netfilter.h | |||
| @@ -215,6 +215,8 @@ static inline int nf_hook(u_int8_t pf, unsigned int hook, struct net *net, | |||
| 215 | break; | 215 | break; |
| 216 | case NFPROTO_ARP: | 216 | case NFPROTO_ARP: |
| 217 | #ifdef CONFIG_NETFILTER_FAMILY_ARP | 217 | #ifdef CONFIG_NETFILTER_FAMILY_ARP |
| 218 | if (WARN_ON_ONCE(hook >= ARRAY_SIZE(net->nf.hooks_arp))) | ||
| 219 | break; | ||
| 218 | hook_head = rcu_dereference(net->nf.hooks_arp[hook]); | 220 | hook_head = rcu_dereference(net->nf.hooks_arp[hook]); |
| 219 | #endif | 221 | #endif |
| 220 | break; | 222 | break; |
diff --git a/include/linux/serial_sci.h b/include/linux/serial_sci.h index c0e795d95477..1c89611e0e06 100644 --- a/include/linux/serial_sci.h +++ b/include/linux/serial_sci.h | |||
| @@ -36,6 +36,7 @@ enum { | |||
| 36 | SCIx_SH4_SCIF_FIFODATA_REGTYPE, | 36 | SCIx_SH4_SCIF_FIFODATA_REGTYPE, |
| 37 | SCIx_SH7705_SCIF_REGTYPE, | 37 | SCIx_SH7705_SCIF_REGTYPE, |
| 38 | SCIx_HSCIF_REGTYPE, | 38 | SCIx_HSCIF_REGTYPE, |
| 39 | SCIx_RZ_SCIFA_REGTYPE, | ||
| 39 | 40 | ||
| 40 | SCIx_NR_REGTYPES, | 41 | SCIx_NR_REGTYPES, |
| 41 | }; | 42 | }; |
diff --git a/include/linux/virtio_net.h b/include/linux/virtio_net.h index 9397628a1967..cb462f9ab7dd 100644 --- a/include/linux/virtio_net.h +++ b/include/linux/virtio_net.h | |||
| @@ -5,6 +5,24 @@ | |||
| 5 | #include <linux/if_vlan.h> | 5 | #include <linux/if_vlan.h> |
| 6 | #include <uapi/linux/virtio_net.h> | 6 | #include <uapi/linux/virtio_net.h> |
| 7 | 7 | ||
| 8 | static inline int virtio_net_hdr_set_proto(struct sk_buff *skb, | ||
| 9 | const struct virtio_net_hdr *hdr) | ||
| 10 | { | ||
| 11 | switch (hdr->gso_type & ~VIRTIO_NET_HDR_GSO_ECN) { | ||
| 12 | case VIRTIO_NET_HDR_GSO_TCPV4: | ||
| 13 | case VIRTIO_NET_HDR_GSO_UDP: | ||
| 14 | skb->protocol = cpu_to_be16(ETH_P_IP); | ||
| 15 | break; | ||
| 16 | case VIRTIO_NET_HDR_GSO_TCPV6: | ||
| 17 | skb->protocol = cpu_to_be16(ETH_P_IPV6); | ||
| 18 | break; | ||
| 19 | default: | ||
| 20 | return -EINVAL; | ||
| 21 | } | ||
| 22 | |||
| 23 | return 0; | ||
| 24 | } | ||
| 25 | |||
| 8 | static inline int virtio_net_hdr_to_skb(struct sk_buff *skb, | 26 | static inline int virtio_net_hdr_to_skb(struct sk_buff *skb, |
| 9 | const struct virtio_net_hdr *hdr, | 27 | const struct virtio_net_hdr *hdr, |
| 10 | bool little_endian) | 28 | bool little_endian) |
