aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/fpga/fpga-mgr.h20
-rw-r--r--include/linux/fs.h17
-rw-r--r--include/linux/hugetlb.h14
-rw-r--r--include/linux/mlx5/transobj.h2
-rw-r--r--include/linux/mm.h6
-rw-r--r--include/linux/mmzone.h6
-rw-r--r--include/linux/netdevice.h3
-rw-r--r--include/linux/netfilter.h2
-rw-r--r--include/linux/serial_sci.h1
-rw-r--r--include/linux/virtio_net.h18
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 *,
1828extern int vfs_clone_file_prep_inodes(struct inode *inode_in, loff_t pos_in, 1828extern 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);
1831extern int do_clone_file_range(struct file *file_in, loff_t pos_in,
1832 struct file *file_out, loff_t pos_out, u64 len);
1831extern int vfs_clone_file_range(struct file *file_in, loff_t pos_in, 1833extern 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);
1833extern int vfs_dedupe_file_range_compare(struct inode *src, loff_t srcoff, 1835extern 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
2776static 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,
140pte_t *huge_pte_offset(struct mm_struct *mm, 140pte_t *huge_pte_offset(struct mm_struct *mm,
141 unsigned long addr, unsigned long sz); 141 unsigned long addr, unsigned long sz);
142int huge_pmd_unshare(struct mm_struct *mm, unsigned long *addr, pte_t *ptep); 142int huge_pmd_unshare(struct mm_struct *mm, unsigned long *addr, pte_t *ptep);
143void adjust_range_if_pmd_sharing_possible(struct vm_area_struct *vma,
144 unsigned long *start, unsigned long *end);
143struct page *follow_huge_addr(struct mm_struct *mm, unsigned long address, 145struct page *follow_huge_addr(struct mm_struct *mm, unsigned long address,
144 int write); 146 int write);
145struct page *follow_huge_pd(struct vm_area_struct *vma, 147struct 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
175static inline int huge_pmd_unshare(struct mm_struct *mm, unsigned long *addr,
176 pte_t *ptep)
177{
178 return 0;
179}
180
181static 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
95struct mlx5_hairpin * 97struct 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
2458static 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
2459pgprot_t vm_get_page_prot(unsigned long vm_flags); 2465pgprot_t vm_get_page_prot(unsigned long vm_flags);
2460void vma_set_page_prot(struct vm_area_struct *vma); 2466void 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
8static 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
8static inline int virtio_net_hdr_to_skb(struct sk_buff *skb, 26static 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)