summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorHerbert Xu <herbert@lithui.me.apana.org.au>2017-12-22 04:00:50 -0500
committerHerbert Xu <herbert@lithui.me.apana.org.au>2017-12-22 04:00:50 -0500
commit45fa9a324d0f5be9140ba2e0db9b8fb8a0b9b7e8 (patch)
treea5e7c8428030ec0462b58133d6548ddff3802018 /include
parentfc8517bf627c9b834f80274a1bc9ecd39b27231b (diff)
parent2973633e9f09311e849f975d969737af81a521ff (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
Merge the crypto tree to pick up inside-secure fixes.
Diffstat (limited to 'include')
-rw-r--r--include/acpi/acpi_bus.h1
-rw-r--r--include/acpi/acpi_drivers.h1
-rw-r--r--include/asm-generic/pgtable.h12
-rw-r--r--include/crypto/if_alg.h6
-rw-r--r--include/crypto/mcryptd.h1
-rw-r--r--include/drm/drm_connector.h8
-rw-r--r--include/drm/drm_edid.h3
-rw-r--r--include/drm/ttm/ttm_page_alloc.h32
-rw-r--r--include/kvm/arm_arch_timer.h3
-rw-r--r--include/linux/debugfs.h2
-rw-r--r--include/linux/dma-mapping.h2
-rw-r--r--include/linux/fs.h19
-rw-r--r--include/linux/hugetlb.h8
-rw-r--r--include/linux/hyperv.h1
-rw-r--r--include/linux/iio/timer/stm32-lptim-trigger.h5
-rw-r--r--include/linux/irqdesc.h6
-rw-r--r--include/linux/kallsyms.h6
-rw-r--r--include/linux/kmemcheck.h1
-rw-r--r--include/linux/kvm_host.h5
-rw-r--r--include/linux/libgcc.h (renamed from include/lib/libgcc.h)0
-rw-r--r--include/linux/migrate.h2
-rw-r--r--include/linux/mm.h14
-rw-r--r--include/linux/perf_event.h6
-rw-r--r--include/linux/rculist_nulls.h38
-rw-r--r--include/linux/serdev.h2
-rw-r--r--include/linux/skbuff.h3
-rw-r--r--include/linux/sunrpc/cache.h2
-rw-r--r--include/linux/sysfs.h6
-rw-r--r--include/linux/tcp.h3
-rw-r--r--include/linux/usb/usbnet.h1
-rw-r--r--include/net/mac80211.h8
-rw-r--r--include/net/red.h13
-rw-r--r--include/net/sctp/checksum.h13
-rw-r--r--include/net/sctp/sctp.h5
-rw-r--r--include/net/sctp/stream_sched.h5
-rw-r--r--include/net/sctp/structs.h3
-rw-r--r--include/net/sock.h6
-rw-r--r--include/net/tc_act/tc_sample.h1
-rw-r--r--include/net/tcp.h5
-rw-r--r--include/scsi/libsas.h2
-rw-r--r--include/trace/events/rxrpc.h86
-rw-r--r--include/trace/events/xdp.h1
-rw-r--r--include/uapi/asm-generic/bpf_perf_event.h9
-rw-r--r--include/uapi/linux/bcache.h2
-rw-r--r--include/uapi/linux/bfs_fs.h2
-rw-r--r--include/uapi/linux/bpf_perf_event.h5
-rw-r--r--include/uapi/linux/kfd_ioctl.h22
-rw-r--r--include/uapi/linux/kvm.h4
-rw-r--r--include/uapi/linux/rxrpc.h1
-rw-r--r--include/uapi/linux/usb/ch9.h3
-rw-r--r--include/uapi/linux/vm_sockets_diag.h1
51 files changed, 237 insertions, 159 deletions
diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h
index f849be28e082..79287629c888 100644
--- a/include/acpi/acpi_bus.h
+++ b/include/acpi/acpi_bus.h
@@ -105,6 +105,7 @@ enum acpi_bus_device_type {
105 ACPI_BUS_TYPE_THERMAL, 105 ACPI_BUS_TYPE_THERMAL,
106 ACPI_BUS_TYPE_POWER_BUTTON, 106 ACPI_BUS_TYPE_POWER_BUTTON,
107 ACPI_BUS_TYPE_SLEEP_BUTTON, 107 ACPI_BUS_TYPE_SLEEP_BUTTON,
108 ACPI_BUS_TYPE_ECDT_EC,
108 ACPI_BUS_DEVICE_TYPE_COUNT 109 ACPI_BUS_DEVICE_TYPE_COUNT
109}; 110};
110 111
diff --git a/include/acpi/acpi_drivers.h b/include/acpi/acpi_drivers.h
index 29c691265b49..14499757338f 100644
--- a/include/acpi/acpi_drivers.h
+++ b/include/acpi/acpi_drivers.h
@@ -58,6 +58,7 @@
58#define ACPI_VIDEO_HID "LNXVIDEO" 58#define ACPI_VIDEO_HID "LNXVIDEO"
59#define ACPI_BAY_HID "LNXIOBAY" 59#define ACPI_BAY_HID "LNXIOBAY"
60#define ACPI_DOCK_HID "LNXDOCK" 60#define ACPI_DOCK_HID "LNXDOCK"
61#define ACPI_ECDT_HID "LNXEC"
61/* Quirk for broken IBM BIOSes */ 62/* Quirk for broken IBM BIOSes */
62#define ACPI_SMBUS_IBM_HID "SMBUSIBM" 63#define ACPI_SMBUS_IBM_HID "SMBUSIBM"
63 64
diff --git a/include/asm-generic/pgtable.h b/include/asm-generic/pgtable.h
index 757dc6ffc7ba..b234d54f2cb6 100644
--- a/include/asm-generic/pgtable.h
+++ b/include/asm-generic/pgtable.h
@@ -805,15 +805,23 @@ static inline int pmd_trans_huge(pmd_t pmd)
805{ 805{
806 return 0; 806 return 0;
807} 807}
808#ifndef __HAVE_ARCH_PMD_WRITE 808#ifndef pmd_write
809static inline int pmd_write(pmd_t pmd) 809static inline int pmd_write(pmd_t pmd)
810{ 810{
811 BUG(); 811 BUG();
812 return 0; 812 return 0;
813} 813}
814#endif /* __HAVE_ARCH_PMD_WRITE */ 814#endif /* pmd_write */
815#endif /* CONFIG_TRANSPARENT_HUGEPAGE */ 815#endif /* CONFIG_TRANSPARENT_HUGEPAGE */
816 816
817#ifndef pud_write
818static inline int pud_write(pud_t pud)
819{
820 BUG();
821 return 0;
822}
823#endif /* pud_write */
824
817#if !defined(CONFIG_TRANSPARENT_HUGEPAGE) || \ 825#if !defined(CONFIG_TRANSPARENT_HUGEPAGE) || \
818 (defined(CONFIG_TRANSPARENT_HUGEPAGE) && \ 826 (defined(CONFIG_TRANSPARENT_HUGEPAGE) && \
819 !defined(CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD)) 827 !defined(CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD))
diff --git a/include/crypto/if_alg.h b/include/crypto/if_alg.h
index 6abf0a3604dc..f38227a78eae 100644
--- a/include/crypto/if_alg.h
+++ b/include/crypto/if_alg.h
@@ -18,6 +18,7 @@
18#include <linux/if_alg.h> 18#include <linux/if_alg.h>
19#include <linux/scatterlist.h> 19#include <linux/scatterlist.h>
20#include <linux/types.h> 20#include <linux/types.h>
21#include <linux/atomic.h>
21#include <net/sock.h> 22#include <net/sock.h>
22 23
23#include <crypto/aead.h> 24#include <crypto/aead.h>
@@ -150,7 +151,7 @@ struct af_alg_ctx {
150 struct crypto_wait wait; 151 struct crypto_wait wait;
151 152
152 size_t used; 153 size_t used;
153 size_t rcvused; 154 atomic_t rcvused;
154 155
155 bool more; 156 bool more;
156 bool merge; 157 bool merge;
@@ -215,7 +216,7 @@ static inline int af_alg_rcvbuf(struct sock *sk)
215 struct af_alg_ctx *ctx = ask->private; 216 struct af_alg_ctx *ctx = ask->private;
216 217
217 return max_t(int, max_t(int, sk->sk_rcvbuf & PAGE_MASK, PAGE_SIZE) - 218 return max_t(int, max_t(int, sk->sk_rcvbuf & PAGE_MASK, PAGE_SIZE) -
218 ctx->rcvused, 0); 219 atomic_read(&ctx->rcvused), 0);
219} 220}
220 221
221/** 222/**
@@ -242,6 +243,7 @@ int af_alg_sendmsg(struct socket *sock, struct msghdr *msg, size_t size,
242 unsigned int ivsize); 243 unsigned int ivsize);
243ssize_t af_alg_sendpage(struct socket *sock, struct page *page, 244ssize_t af_alg_sendpage(struct socket *sock, struct page *page,
244 int offset, size_t size, int flags); 245 int offset, size_t size, int flags);
246void af_alg_free_resources(struct af_alg_async_req *areq);
245void af_alg_async_cb(struct crypto_async_request *_req, int err); 247void af_alg_async_cb(struct crypto_async_request *_req, int err);
246unsigned int af_alg_poll(struct file *file, struct socket *sock, 248unsigned int af_alg_poll(struct file *file, struct socket *sock,
247 poll_table *wait); 249 poll_table *wait);
diff --git a/include/crypto/mcryptd.h b/include/crypto/mcryptd.h
index cceafa01f907..b67404fc4b34 100644
--- a/include/crypto/mcryptd.h
+++ b/include/crypto/mcryptd.h
@@ -27,6 +27,7 @@ static inline struct mcryptd_ahash *__mcryptd_ahash_cast(
27 27
28struct mcryptd_cpu_queue { 28struct mcryptd_cpu_queue {
29 struct crypto_queue queue; 29 struct crypto_queue queue;
30 spinlock_t q_lock;
30 struct work_struct work; 31 struct work_struct work;
31}; 32};
32 33
diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h
index df9807a3caae..a4649c56ca2f 100644
--- a/include/drm/drm_connector.h
+++ b/include/drm/drm_connector.h
@@ -916,6 +916,14 @@ struct drm_connector {
916 uint8_t num_h_tile, num_v_tile; 916 uint8_t num_h_tile, num_v_tile;
917 uint8_t tile_h_loc, tile_v_loc; 917 uint8_t tile_h_loc, tile_v_loc;
918 uint16_t tile_h_size, tile_v_size; 918 uint16_t tile_h_size, tile_v_size;
919
920 /**
921 * @free_work:
922 *
923 * Work used only by &drm_connector_iter to be able to clean up a
924 * connector from any context.
925 */
926 struct work_struct free_work;
919}; 927};
920 928
921#define obj_to_connector(x) container_of(x, struct drm_connector, base) 929#define obj_to_connector(x) container_of(x, struct drm_connector, base)
diff --git a/include/drm/drm_edid.h b/include/drm/drm_edid.h
index 6f35909b8add..2ec41d032e56 100644
--- a/include/drm/drm_edid.h
+++ b/include/drm/drm_edid.h
@@ -362,7 +362,8 @@ void
362drm_hdmi_avi_infoframe_quant_range(struct hdmi_avi_infoframe *frame, 362drm_hdmi_avi_infoframe_quant_range(struct hdmi_avi_infoframe *frame,
363 const struct drm_display_mode *mode, 363 const struct drm_display_mode *mode,
364 enum hdmi_quantization_range rgb_quant_range, 364 enum hdmi_quantization_range rgb_quant_range,
365 bool rgb_quant_range_selectable); 365 bool rgb_quant_range_selectable,
366 bool is_hdmi2_sink);
366 367
367/** 368/**
368 * drm_eld_mnl - Get ELD monitor name length in bytes. 369 * drm_eld_mnl - Get ELD monitor name length in bytes.
diff --git a/include/drm/ttm/ttm_page_alloc.h b/include/drm/ttm/ttm_page_alloc.h
index 38a2b4770c35..593811362a91 100644
--- a/include/drm/ttm/ttm_page_alloc.h
+++ b/include/drm/ttm/ttm_page_alloc.h
@@ -59,11 +59,20 @@ int ttm_pool_populate(struct ttm_tt *ttm);
59void ttm_pool_unpopulate(struct ttm_tt *ttm); 59void ttm_pool_unpopulate(struct ttm_tt *ttm);
60 60
61/** 61/**
62 * Populates and DMA maps pages to fullfil a ttm_dma_populate() request
63 */
64int ttm_populate_and_map_pages(struct device *dev, struct ttm_dma_tt *tt);
65
66/**
67 * Unpopulates and DMA unmaps pages as part of a
68 * ttm_dma_unpopulate() request */
69void ttm_unmap_and_unpopulate_pages(struct device *dev, struct ttm_dma_tt *tt);
70
71/**
62 * Output the state of pools to debugfs file 72 * Output the state of pools to debugfs file
63 */ 73 */
64int ttm_page_alloc_debugfs(struct seq_file *m, void *data); 74int ttm_page_alloc_debugfs(struct seq_file *m, void *data);
65 75
66
67#if defined(CONFIG_SWIOTLB) || defined(CONFIG_INTEL_IOMMU) 76#if defined(CONFIG_SWIOTLB) || defined(CONFIG_INTEL_IOMMU)
68/** 77/**
69 * Initialize pool allocator. 78 * Initialize pool allocator.
@@ -83,17 +92,6 @@ int ttm_dma_page_alloc_debugfs(struct seq_file *m, void *data);
83int ttm_dma_populate(struct ttm_dma_tt *ttm_dma, struct device *dev); 92int ttm_dma_populate(struct ttm_dma_tt *ttm_dma, struct device *dev);
84void ttm_dma_unpopulate(struct ttm_dma_tt *ttm_dma, struct device *dev); 93void ttm_dma_unpopulate(struct ttm_dma_tt *ttm_dma, struct device *dev);
85 94
86
87/**
88 * Populates and DMA maps pages to fullfil a ttm_dma_populate() request
89 */
90int ttm_populate_and_map_pages(struct device *dev, struct ttm_dma_tt *tt);
91
92/**
93 * Unpopulates and DMA unmaps pages as part of a
94 * ttm_dma_unpopulate() request */
95void ttm_unmap_and_unpopulate_pages(struct device *dev, struct ttm_dma_tt *tt);
96
97#else 95#else
98static inline int ttm_dma_page_alloc_init(struct ttm_mem_global *glob, 96static inline int ttm_dma_page_alloc_init(struct ttm_mem_global *glob,
99 unsigned max_pages) 97 unsigned max_pages)
@@ -116,16 +114,6 @@ static inline void ttm_dma_unpopulate(struct ttm_dma_tt *ttm_dma,
116 struct device *dev) 114 struct device *dev)
117{ 115{
118} 116}
119
120static inline int ttm_populate_and_map_pages(struct device *dev, struct ttm_dma_tt *tt)
121{
122 return -ENOMEM;
123}
124
125static inline void ttm_unmap_and_unpopulate_pages(struct device *dev, struct ttm_dma_tt *tt)
126{
127}
128
129#endif 117#endif
130 118
131#endif 119#endif
diff --git a/include/kvm/arm_arch_timer.h b/include/kvm/arm_arch_timer.h
index 01ee473517e2..6e45608b2399 100644
--- a/include/kvm/arm_arch_timer.h
+++ b/include/kvm/arm_arch_timer.h
@@ -93,7 +93,4 @@ void kvm_timer_init_vhe(void);
93#define vcpu_vtimer(v) (&(v)->arch.timer_cpu.vtimer) 93#define vcpu_vtimer(v) (&(v)->arch.timer_cpu.vtimer)
94#define vcpu_ptimer(v) (&(v)->arch.timer_cpu.ptimer) 94#define vcpu_ptimer(v) (&(v)->arch.timer_cpu.ptimer)
95 95
96void enable_el1_phys_timer_access(void);
97void disable_el1_phys_timer_access(void);
98
99#endif 96#endif
diff --git a/include/linux/debugfs.h b/include/linux/debugfs.h
index f36ecc2a5712..3b0ba54cc4d5 100644
--- a/include/linux/debugfs.h
+++ b/include/linux/debugfs.h
@@ -216,6 +216,8 @@ static inline void debugfs_remove(struct dentry *dentry)
216static inline void debugfs_remove_recursive(struct dentry *dentry) 216static inline void debugfs_remove_recursive(struct dentry *dentry)
217{ } 217{ }
218 218
219const struct file_operations *debugfs_real_fops(const struct file *filp);
220
219static inline int debugfs_file_get(struct dentry *dentry) 221static inline int debugfs_file_get(struct dentry *dentry)
220{ 222{
221 return 0; 223 return 0;
diff --git a/include/linux/dma-mapping.h b/include/linux/dma-mapping.h
index e8f8e8fb244d..81ed9b2d84dc 100644
--- a/include/linux/dma-mapping.h
+++ b/include/linux/dma-mapping.h
@@ -704,7 +704,6 @@ static inline void *dma_zalloc_coherent(struct device *dev, size_t size,
704 return ret; 704 return ret;
705} 705}
706 706
707#ifdef CONFIG_HAS_DMA
708static inline int dma_get_cache_alignment(void) 707static inline int dma_get_cache_alignment(void)
709{ 708{
710#ifdef ARCH_DMA_MINALIGN 709#ifdef ARCH_DMA_MINALIGN
@@ -712,7 +711,6 @@ static inline int dma_get_cache_alignment(void)
712#endif 711#endif
713 return 1; 712 return 1;
714} 713}
715#endif
716 714
717/* flags for the coherent memory api */ 715/* flags for the coherent memory api */
718#define DMA_MEMORY_EXCLUSIVE 0x01 716#define DMA_MEMORY_EXCLUSIVE 0x01
diff --git a/include/linux/fs.h b/include/linux/fs.h
index 2995a271ec46..511fbaabf624 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -1872,7 +1872,7 @@ struct super_operations {
1872 */ 1872 */
1873#define __IS_FLG(inode, flg) ((inode)->i_sb->s_flags & (flg)) 1873#define __IS_FLG(inode, flg) ((inode)->i_sb->s_flags & (flg))
1874 1874
1875static inline bool sb_rdonly(const struct super_block *sb) { return sb->s_flags & MS_RDONLY; } 1875static inline bool sb_rdonly(const struct super_block *sb) { return sb->s_flags & SB_RDONLY; }
1876#define IS_RDONLY(inode) sb_rdonly((inode)->i_sb) 1876#define IS_RDONLY(inode) sb_rdonly((inode)->i_sb)
1877#define IS_SYNC(inode) (__IS_FLG(inode, SB_SYNCHRONOUS) || \ 1877#define IS_SYNC(inode) (__IS_FLG(inode, SB_SYNCHRONOUS) || \
1878 ((inode)->i_flags & S_SYNC)) 1878 ((inode)->i_flags & S_SYNC))
@@ -3088,7 +3088,8 @@ static inline int vfs_lstat(const char __user *name, struct kstat *stat)
3088static inline int vfs_fstatat(int dfd, const char __user *filename, 3088static inline int vfs_fstatat(int dfd, const char __user *filename,
3089 struct kstat *stat, int flags) 3089 struct kstat *stat, int flags)
3090{ 3090{
3091 return vfs_statx(dfd, filename, flags, stat, STATX_BASIC_STATS); 3091 return vfs_statx(dfd, filename, flags | AT_NO_AUTOMOUNT,
3092 stat, STATX_BASIC_STATS);
3092} 3093}
3093static inline int vfs_fstat(int fd, struct kstat *stat) 3094static inline int vfs_fstat(int fd, struct kstat *stat)
3094{ 3095{
@@ -3194,6 +3195,20 @@ static inline bool vma_is_dax(struct vm_area_struct *vma)
3194 return vma->vm_file && IS_DAX(vma->vm_file->f_mapping->host); 3195 return vma->vm_file && IS_DAX(vma->vm_file->f_mapping->host);
3195} 3196}
3196 3197
3198static inline bool vma_is_fsdax(struct vm_area_struct *vma)
3199{
3200 struct inode *inode;
3201
3202 if (!vma->vm_file)
3203 return false;
3204 if (!vma_is_dax(vma))
3205 return false;
3206 inode = file_inode(vma->vm_file);
3207 if (inode->i_mode == S_IFCHR)
3208 return false; /* device-dax */
3209 return true;
3210}
3211
3197static inline int iocb_flags(struct file *file) 3212static inline int iocb_flags(struct file *file)
3198{ 3213{
3199 int res = 0; 3214 int res = 0;
diff --git a/include/linux/hugetlb.h b/include/linux/hugetlb.h
index fbf5b31d47ee..82a25880714a 100644
--- a/include/linux/hugetlb.h
+++ b/include/linux/hugetlb.h
@@ -239,14 +239,6 @@ static inline int pgd_write(pgd_t pgd)
239} 239}
240#endif 240#endif
241 241
242#ifndef pud_write
243static inline int pud_write(pud_t pud)
244{
245 BUG();
246 return 0;
247}
248#endif
249
250#define HUGETLB_ANON_FILE "anon_hugepage" 242#define HUGETLB_ANON_FILE "anon_hugepage"
251 243
252enum { 244enum {
diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h
index f3e97c5f94c9..6c9336626592 100644
--- a/include/linux/hyperv.h
+++ b/include/linux/hyperv.h
@@ -708,6 +708,7 @@ struct vmbus_channel {
708 u8 monitor_bit; 708 u8 monitor_bit;
709 709
710 bool rescind; /* got rescind msg */ 710 bool rescind; /* got rescind msg */
711 struct completion rescind_event;
711 712
712 u32 ringbuffer_gpadlhandle; 713 u32 ringbuffer_gpadlhandle;
713 714
diff --git a/include/linux/iio/timer/stm32-lptim-trigger.h b/include/linux/iio/timer/stm32-lptim-trigger.h
index 34d59bfdce2d..464458d20b16 100644
--- a/include/linux/iio/timer/stm32-lptim-trigger.h
+++ b/include/linux/iio/timer/stm32-lptim-trigger.h
@@ -16,11 +16,14 @@
16#define LPTIM2_OUT "lptim2_out" 16#define LPTIM2_OUT "lptim2_out"
17#define LPTIM3_OUT "lptim3_out" 17#define LPTIM3_OUT "lptim3_out"
18 18
19#if IS_ENABLED(CONFIG_IIO_STM32_LPTIMER_TRIGGER) 19#if IS_REACHABLE(CONFIG_IIO_STM32_LPTIMER_TRIGGER)
20bool is_stm32_lptim_trigger(struct iio_trigger *trig); 20bool is_stm32_lptim_trigger(struct iio_trigger *trig);
21#else 21#else
22static inline bool is_stm32_lptim_trigger(struct iio_trigger *trig) 22static inline bool is_stm32_lptim_trigger(struct iio_trigger *trig)
23{ 23{
24#if IS_ENABLED(CONFIG_IIO_STM32_LPTIMER_TRIGGER)
25 pr_warn_once("stm32 lptim_trigger not linked in\n");
26#endif
24 return false; 27 return false;
25} 28}
26#endif 29#endif
diff --git a/include/linux/irqdesc.h b/include/linux/irqdesc.h
index dd418955962b..39fb3700f7a9 100644
--- a/include/linux/irqdesc.h
+++ b/include/linux/irqdesc.h
@@ -230,7 +230,7 @@ irq_set_chip_handler_name_locked(struct irq_data *data, struct irq_chip *chip,
230 data->chip = chip; 230 data->chip = chip;
231} 231}
232 232
233static inline int irq_balancing_disabled(unsigned int irq) 233static inline bool irq_balancing_disabled(unsigned int irq)
234{ 234{
235 struct irq_desc *desc; 235 struct irq_desc *desc;
236 236
@@ -238,7 +238,7 @@ static inline int irq_balancing_disabled(unsigned int irq)
238 return desc->status_use_accessors & IRQ_NO_BALANCING_MASK; 238 return desc->status_use_accessors & IRQ_NO_BALANCING_MASK;
239} 239}
240 240
241static inline int irq_is_percpu(unsigned int irq) 241static inline bool irq_is_percpu(unsigned int irq)
242{ 242{
243 struct irq_desc *desc; 243 struct irq_desc *desc;
244 244
@@ -246,7 +246,7 @@ static inline int irq_is_percpu(unsigned int irq)
246 return desc->status_use_accessors & IRQ_PER_CPU; 246 return desc->status_use_accessors & IRQ_PER_CPU;
247} 247}
248 248
249static inline int irq_is_percpu_devid(unsigned int irq) 249static inline bool irq_is_percpu_devid(unsigned int irq)
250{ 250{
251 struct irq_desc *desc; 251 struct irq_desc *desc;
252 252
diff --git a/include/linux/kallsyms.h b/include/linux/kallsyms.h
index 708f337d780b..bd118a6c60cb 100644
--- a/include/linux/kallsyms.h
+++ b/include/linux/kallsyms.h
@@ -14,12 +14,6 @@
14#define KSYM_SYMBOL_LEN (sizeof("%s+%#lx/%#lx [%s]") + (KSYM_NAME_LEN - 1) + \ 14#define KSYM_SYMBOL_LEN (sizeof("%s+%#lx/%#lx [%s]") + (KSYM_NAME_LEN - 1) + \
15 2*(BITS_PER_LONG*3/10) + (MODULE_NAME_LEN - 1) + 1) 15 2*(BITS_PER_LONG*3/10) + (MODULE_NAME_LEN - 1) + 1)
16 16
17#ifndef CONFIG_64BIT
18# define KALLSYM_FMT "%08lx"
19#else
20# define KALLSYM_FMT "%016lx"
21#endif
22
23struct module; 17struct module;
24 18
25#ifdef CONFIG_KALLSYMS 19#ifdef CONFIG_KALLSYMS
diff --git a/include/linux/kmemcheck.h b/include/linux/kmemcheck.h
deleted file mode 100644
index ea32a7d3cf1b..000000000000
--- a/include/linux/kmemcheck.h
+++ /dev/null
@@ -1 +0,0 @@
1/* SPDX-License-Identifier: GPL-2.0 */
diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h
index 2e754b7c282c..6bdd4b9f6611 100644
--- a/include/linux/kvm_host.h
+++ b/include/linux/kvm_host.h
@@ -232,7 +232,7 @@ struct kvm_vcpu {
232 struct mutex mutex; 232 struct mutex mutex;
233 struct kvm_run *run; 233 struct kvm_run *run;
234 234
235 int guest_fpu_loaded, guest_xcr0_loaded; 235 int guest_xcr0_loaded;
236 struct swait_queue_head wq; 236 struct swait_queue_head wq;
237 struct pid __rcu *pid; 237 struct pid __rcu *pid;
238 int sigset_active; 238 int sigset_active;
@@ -715,6 +715,9 @@ int kvm_vcpu_write_guest(struct kvm_vcpu *vcpu, gpa_t gpa, const void *data,
715 unsigned long len); 715 unsigned long len);
716void kvm_vcpu_mark_page_dirty(struct kvm_vcpu *vcpu, gfn_t gfn); 716void kvm_vcpu_mark_page_dirty(struct kvm_vcpu *vcpu, gfn_t gfn);
717 717
718void kvm_sigset_activate(struct kvm_vcpu *vcpu);
719void kvm_sigset_deactivate(struct kvm_vcpu *vcpu);
720
718void kvm_vcpu_block(struct kvm_vcpu *vcpu); 721void kvm_vcpu_block(struct kvm_vcpu *vcpu);
719void kvm_arch_vcpu_blocking(struct kvm_vcpu *vcpu); 722void kvm_arch_vcpu_blocking(struct kvm_vcpu *vcpu);
720void kvm_arch_vcpu_unblocking(struct kvm_vcpu *vcpu); 723void kvm_arch_vcpu_unblocking(struct kvm_vcpu *vcpu);
diff --git a/include/lib/libgcc.h b/include/linux/libgcc.h
index 32e1e0f4b2d0..32e1e0f4b2d0 100644
--- a/include/lib/libgcc.h
+++ b/include/linux/libgcc.h
diff --git a/include/linux/migrate.h b/include/linux/migrate.h
index 895ec0c4942e..a2246cf670ba 100644
--- a/include/linux/migrate.h
+++ b/include/linux/migrate.h
@@ -54,7 +54,7 @@ static inline struct page *new_page_nodemask(struct page *page,
54 new_page = __alloc_pages_nodemask(gfp_mask, order, 54 new_page = __alloc_pages_nodemask(gfp_mask, order,
55 preferred_nid, nodemask); 55 preferred_nid, nodemask);
56 56
57 if (new_page && PageTransHuge(page)) 57 if (new_page && PageTransHuge(new_page))
58 prep_transhuge_page(new_page); 58 prep_transhuge_page(new_page);
59 59
60 return new_page; 60 return new_page;
diff --git a/include/linux/mm.h b/include/linux/mm.h
index ee073146aaa7..ea818ff739cd 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -377,6 +377,7 @@ enum page_entry_size {
377struct vm_operations_struct { 377struct vm_operations_struct {
378 void (*open)(struct vm_area_struct * area); 378 void (*open)(struct vm_area_struct * area);
379 void (*close)(struct vm_area_struct * area); 379 void (*close)(struct vm_area_struct * area);
380 int (*split)(struct vm_area_struct * area, unsigned long addr);
380 int (*mremap)(struct vm_area_struct * area); 381 int (*mremap)(struct vm_area_struct * area);
381 int (*fault)(struct vm_fault *vmf); 382 int (*fault)(struct vm_fault *vmf);
382 int (*huge_fault)(struct vm_fault *vmf, enum page_entry_size pe_size); 383 int (*huge_fault)(struct vm_fault *vmf, enum page_entry_size pe_size);
@@ -1379,6 +1380,19 @@ long get_user_pages_locked(unsigned long start, unsigned long nr_pages,
1379 unsigned int gup_flags, struct page **pages, int *locked); 1380 unsigned int gup_flags, struct page **pages, int *locked);
1380long get_user_pages_unlocked(unsigned long start, unsigned long nr_pages, 1381long get_user_pages_unlocked(unsigned long start, unsigned long nr_pages,
1381 struct page **pages, unsigned int gup_flags); 1382 struct page **pages, unsigned int gup_flags);
1383#ifdef CONFIG_FS_DAX
1384long get_user_pages_longterm(unsigned long start, unsigned long nr_pages,
1385 unsigned int gup_flags, struct page **pages,
1386 struct vm_area_struct **vmas);
1387#else
1388static inline long get_user_pages_longterm(unsigned long start,
1389 unsigned long nr_pages, unsigned int gup_flags,
1390 struct page **pages, struct vm_area_struct **vmas)
1391{
1392 return get_user_pages(start, nr_pages, gup_flags, pages, vmas);
1393}
1394#endif /* CONFIG_FS_DAX */
1395
1382int get_user_pages_fast(unsigned long start, int nr_pages, int write, 1396int get_user_pages_fast(unsigned long start, int nr_pages, int write,
1383 struct page **pages); 1397 struct page **pages);
1384 1398
diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h
index 2c9c87d8a0c1..7546822a1d74 100644
--- a/include/linux/perf_event.h
+++ b/include/linux/perf_event.h
@@ -15,6 +15,7 @@
15#define _LINUX_PERF_EVENT_H 15#define _LINUX_PERF_EVENT_H
16 16
17#include <uapi/linux/perf_event.h> 17#include <uapi/linux/perf_event.h>
18#include <uapi/linux/bpf_perf_event.h>
18 19
19/* 20/*
20 * Kernel-internal data types and definitions: 21 * Kernel-internal data types and definitions:
@@ -787,7 +788,7 @@ struct perf_output_handle {
787}; 788};
788 789
789struct bpf_perf_event_data_kern { 790struct bpf_perf_event_data_kern {
790 struct pt_regs *regs; 791 bpf_user_pt_regs_t *regs;
791 struct perf_sample_data *data; 792 struct perf_sample_data *data;
792 struct perf_event *event; 793 struct perf_event *event;
793}; 794};
@@ -1177,6 +1178,9 @@ extern void perf_bp_event(struct perf_event *event, void *data);
1177 (user_mode(regs) ? PERF_RECORD_MISC_USER : PERF_RECORD_MISC_KERNEL) 1178 (user_mode(regs) ? PERF_RECORD_MISC_USER : PERF_RECORD_MISC_KERNEL)
1178# define perf_instruction_pointer(regs) instruction_pointer(regs) 1179# define perf_instruction_pointer(regs) instruction_pointer(regs)
1179#endif 1180#endif
1181#ifndef perf_arch_bpf_user_pt_regs
1182# define perf_arch_bpf_user_pt_regs(regs) regs
1183#endif
1180 1184
1181static inline bool has_branch_stack(struct perf_event *event) 1185static inline bool has_branch_stack(struct perf_event *event)
1182{ 1186{
diff --git a/include/linux/rculist_nulls.h b/include/linux/rculist_nulls.h
index a328e8181e49..e4b257ff881b 100644
--- a/include/linux/rculist_nulls.h
+++ b/include/linux/rculist_nulls.h
@@ -101,44 +101,6 @@ static inline void hlist_nulls_add_head_rcu(struct hlist_nulls_node *n,
101} 101}
102 102
103/** 103/**
104 * hlist_nulls_add_tail_rcu
105 * @n: the element to add to the hash list.
106 * @h: the list to add to.
107 *
108 * Description:
109 * Adds the specified element to the end of the specified hlist_nulls,
110 * while permitting racing traversals. NOTE: tail insertion requires
111 * list traversal.
112 *
113 * The caller must take whatever precautions are necessary
114 * (such as holding appropriate locks) to avoid racing
115 * with another list-mutation primitive, such as hlist_nulls_add_head_rcu()
116 * or hlist_nulls_del_rcu(), running on this same list.
117 * However, it is perfectly legal to run concurrently with
118 * the _rcu list-traversal primitives, such as
119 * hlist_nulls_for_each_entry_rcu(), used to prevent memory-consistency
120 * problems on Alpha CPUs. Regardless of the type of CPU, the
121 * list-traversal primitive must be guarded by rcu_read_lock().
122 */
123static inline void hlist_nulls_add_tail_rcu(struct hlist_nulls_node *n,
124 struct hlist_nulls_head *h)
125{
126 struct hlist_nulls_node *i, *last = NULL;
127
128 for (i = hlist_nulls_first_rcu(h); !is_a_nulls(i);
129 i = hlist_nulls_next_rcu(i))
130 last = i;
131
132 if (last) {
133 n->next = last->next;
134 n->pprev = &last->next;
135 rcu_assign_pointer(hlist_nulls_next_rcu(last), n);
136 } else {
137 hlist_nulls_add_head_rcu(n, h);
138 }
139}
140
141/**
142 * hlist_nulls_for_each_entry_rcu - iterate over rcu list of given type 104 * hlist_nulls_for_each_entry_rcu - iterate over rcu list of given type
143 * @tpos: the type * to use as a loop cursor. 105 * @tpos: the type * to use as a loop cursor.
144 * @pos: the &struct hlist_nulls_node to use as a loop cursor. 106 * @pos: the &struct hlist_nulls_node to use as a loop cursor.
diff --git a/include/linux/serdev.h b/include/linux/serdev.h
index e69402d4a8ae..d609e6dc5bad 100644
--- a/include/linux/serdev.h
+++ b/include/linux/serdev.h
@@ -184,7 +184,7 @@ static inline int serdev_controller_receive_buf(struct serdev_controller *ctrl,
184 struct serdev_device *serdev = ctrl->serdev; 184 struct serdev_device *serdev = ctrl->serdev;
185 185
186 if (!serdev || !serdev->ops->receive_buf) 186 if (!serdev || !serdev->ops->receive_buf)
187 return -EINVAL; 187 return 0;
188 188
189 return serdev->ops->receive_buf(serdev, data, count); 189 return serdev->ops->receive_buf(serdev, data, count);
190} 190}
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
index bc486ef23f20..a38c80e9f91e 100644
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
@@ -1406,8 +1406,7 @@ static inline struct sk_buff *skb_get(struct sk_buff *skb)
1406} 1406}
1407 1407
1408/* 1408/*
1409 * If users == 1, we are the only owner and are can avoid redundant 1409 * If users == 1, we are the only owner and can avoid redundant atomic changes.
1410 * atomic change.
1411 */ 1410 */
1412 1411
1413/** 1412/**
diff --git a/include/linux/sunrpc/cache.h b/include/linux/sunrpc/cache.h
index 270bad0e1bed..40d2822f0e2f 100644
--- a/include/linux/sunrpc/cache.h
+++ b/include/linux/sunrpc/cache.h
@@ -213,7 +213,7 @@ extern void __init cache_initialize(void);
213extern int cache_register_net(struct cache_detail *cd, struct net *net); 213extern int cache_register_net(struct cache_detail *cd, struct net *net);
214extern void cache_unregister_net(struct cache_detail *cd, struct net *net); 214extern void cache_unregister_net(struct cache_detail *cd, struct net *net);
215 215
216extern struct cache_detail *cache_create_net(struct cache_detail *tmpl, struct net *net); 216extern struct cache_detail *cache_create_net(const struct cache_detail *tmpl, struct net *net);
217extern void cache_destroy_net(struct cache_detail *cd, struct net *net); 217extern void cache_destroy_net(struct cache_detail *cd, struct net *net);
218 218
219extern void sunrpc_init_cache_detail(struct cache_detail *cd); 219extern void sunrpc_init_cache_detail(struct cache_detail *cd);
diff --git a/include/linux/sysfs.h b/include/linux/sysfs.h
index e32dfe098e82..40839c02d28c 100644
--- a/include/linux/sysfs.h
+++ b/include/linux/sysfs.h
@@ -117,6 +117,12 @@ struct attribute_group {
117 .show = _name##_show, \ 117 .show = _name##_show, \
118} 118}
119 119
120#define __ATTR_RO_MODE(_name, _mode) { \
121 .attr = { .name = __stringify(_name), \
122 .mode = VERIFY_OCTAL_PERMISSIONS(_mode) }, \
123 .show = _name##_show, \
124}
125
120#define __ATTR_WO(_name) { \ 126#define __ATTR_WO(_name) { \
121 .attr = { .name = __stringify(_name), .mode = S_IWUSR }, \ 127 .attr = { .name = __stringify(_name), .mode = S_IWUSR }, \
122 .store = _name##_store, \ 128 .store = _name##_store, \
diff --git a/include/linux/tcp.h b/include/linux/tcp.h
index df5d97a85e1a..ca4a6361389b 100644
--- a/include/linux/tcp.h
+++ b/include/linux/tcp.h
@@ -224,7 +224,8 @@ struct tcp_sock {
224 rate_app_limited:1, /* rate_{delivered,interval_us} limited? */ 224 rate_app_limited:1, /* rate_{delivered,interval_us} limited? */
225 fastopen_connect:1, /* FASTOPEN_CONNECT sockopt */ 225 fastopen_connect:1, /* FASTOPEN_CONNECT sockopt */
226 fastopen_no_cookie:1, /* Allow send/recv SYN+data without a cookie */ 226 fastopen_no_cookie:1, /* Allow send/recv SYN+data without a cookie */
227 unused:3; 227 is_sack_reneg:1, /* in recovery from loss with SACK reneg? */
228 unused:2;
228 u8 nonagle : 4,/* Disable Nagle algorithm? */ 229 u8 nonagle : 4,/* Disable Nagle algorithm? */
229 thin_lto : 1,/* Use linear timeouts for thin streams */ 230 thin_lto : 1,/* Use linear timeouts for thin streams */
230 unused1 : 1, 231 unused1 : 1,
diff --git a/include/linux/usb/usbnet.h b/include/linux/usb/usbnet.h
index a69877734c4e..e2ec3582e549 100644
--- a/include/linux/usb/usbnet.h
+++ b/include/linux/usb/usbnet.h
@@ -82,6 +82,7 @@ struct usbnet {
82# define EVENT_RX_KILL 10 82# define EVENT_RX_KILL 10
83# define EVENT_LINK_CHANGE 11 83# define EVENT_LINK_CHANGE 11
84# define EVENT_SET_RX_MODE 12 84# define EVENT_SET_RX_MODE 12
85# define EVENT_NO_IP_ALIGN 13
85}; 86};
86 87
87static inline struct usb_driver *driver_of(struct usb_interface *intf) 88static inline struct usb_driver *driver_of(struct usb_interface *intf)
diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index cc9073e45be9..eec143cca1c0 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -4470,18 +4470,24 @@ struct sk_buff *ieee80211_pspoll_get(struct ieee80211_hw *hw,
4470 * ieee80211_nullfunc_get - retrieve a nullfunc template 4470 * ieee80211_nullfunc_get - retrieve a nullfunc template
4471 * @hw: pointer obtained from ieee80211_alloc_hw(). 4471 * @hw: pointer obtained from ieee80211_alloc_hw().
4472 * @vif: &struct ieee80211_vif pointer from the add_interface callback. 4472 * @vif: &struct ieee80211_vif pointer from the add_interface callback.
4473 * @qos_ok: QoS NDP is acceptable to the caller, this should be set
4474 * if at all possible
4473 * 4475 *
4474 * Creates a Nullfunc template which can, for example, uploaded to 4476 * Creates a Nullfunc template which can, for example, uploaded to
4475 * hardware. The template must be updated after association so that correct 4477 * hardware. The template must be updated after association so that correct
4476 * BSSID and address is used. 4478 * BSSID and address is used.
4477 * 4479 *
4480 * If @qos_ndp is set and the association is to an AP with QoS/WMM, the
4481 * returned packet will be QoS NDP.
4482 *
4478 * Note: Caller (or hardware) is responsible for setting the 4483 * Note: Caller (or hardware) is responsible for setting the
4479 * &IEEE80211_FCTL_PM bit as well as Duration and Sequence Control fields. 4484 * &IEEE80211_FCTL_PM bit as well as Duration and Sequence Control fields.
4480 * 4485 *
4481 * Return: The nullfunc template. %NULL on error. 4486 * Return: The nullfunc template. %NULL on error.
4482 */ 4487 */
4483struct sk_buff *ieee80211_nullfunc_get(struct ieee80211_hw *hw, 4488struct sk_buff *ieee80211_nullfunc_get(struct ieee80211_hw *hw,
4484 struct ieee80211_vif *vif); 4489 struct ieee80211_vif *vif,
4490 bool qos_ok);
4485 4491
4486/** 4492/**
4487 * ieee80211_probereq_get - retrieve a Probe Request template 4493 * ieee80211_probereq_get - retrieve a Probe Request template
diff --git a/include/net/red.h b/include/net/red.h
index 9a9347710701..9665582c4687 100644
--- a/include/net/red.h
+++ b/include/net/red.h
@@ -168,6 +168,17 @@ static inline void red_set_vars(struct red_vars *v)
168 v->qcount = -1; 168 v->qcount = -1;
169} 169}
170 170
171static inline bool red_check_params(u32 qth_min, u32 qth_max, u8 Wlog)
172{
173 if (fls(qth_min) + Wlog > 32)
174 return false;
175 if (fls(qth_max) + Wlog > 32)
176 return false;
177 if (qth_max < qth_min)
178 return false;
179 return true;
180}
181
171static inline void red_set_parms(struct red_parms *p, 182static inline void red_set_parms(struct red_parms *p,
172 u32 qth_min, u32 qth_max, u8 Wlog, u8 Plog, 183 u32 qth_min, u32 qth_max, u8 Wlog, u8 Plog,
173 u8 Scell_log, u8 *stab, u32 max_P) 184 u8 Scell_log, u8 *stab, u32 max_P)
@@ -179,7 +190,7 @@ static inline void red_set_parms(struct red_parms *p,
179 p->qth_max = qth_max << Wlog; 190 p->qth_max = qth_max << Wlog;
180 p->Wlog = Wlog; 191 p->Wlog = Wlog;
181 p->Plog = Plog; 192 p->Plog = Plog;
182 if (delta < 0) 193 if (delta <= 0)
183 delta = 1; 194 delta = 1;
184 p->qth_delta = delta; 195 p->qth_delta = delta;
185 if (!max_P) { 196 if (!max_P) {
diff --git a/include/net/sctp/checksum.h b/include/net/sctp/checksum.h
index 4a5b9a306c69..32ee65a30aff 100644
--- a/include/net/sctp/checksum.h
+++ b/include/net/sctp/checksum.h
@@ -48,31 +48,32 @@ static inline __wsum sctp_csum_update(const void *buff, int len, __wsum sum)
48 /* This uses the crypto implementation of crc32c, which is either 48 /* This uses the crypto implementation of crc32c, which is either
49 * implemented w/ hardware support or resolves to __crc32c_le(). 49 * implemented w/ hardware support or resolves to __crc32c_le().
50 */ 50 */
51 return crc32c(sum, buff, len); 51 return (__force __wsum)crc32c((__force __u32)sum, buff, len);
52} 52}
53 53
54static inline __wsum sctp_csum_combine(__wsum csum, __wsum csum2, 54static inline __wsum sctp_csum_combine(__wsum csum, __wsum csum2,
55 int offset, int len) 55 int offset, int len)
56{ 56{
57 return __crc32c_le_combine(csum, csum2, len); 57 return (__force __wsum)__crc32c_le_combine((__force __u32)csum,
58 (__force __u32)csum2, len);
58} 59}
59 60
60static inline __le32 sctp_compute_cksum(const struct sk_buff *skb, 61static inline __le32 sctp_compute_cksum(const struct sk_buff *skb,
61 unsigned int offset) 62 unsigned int offset)
62{ 63{
63 struct sctphdr *sh = sctp_hdr(skb); 64 struct sctphdr *sh = sctp_hdr(skb);
64 __le32 ret, old = sh->checksum;
65 const struct skb_checksum_ops ops = { 65 const struct skb_checksum_ops ops = {
66 .update = sctp_csum_update, 66 .update = sctp_csum_update,
67 .combine = sctp_csum_combine, 67 .combine = sctp_csum_combine,
68 }; 68 };
69 __le32 old = sh->checksum;
70 __wsum new;
69 71
70 sh->checksum = 0; 72 sh->checksum = 0;
71 ret = cpu_to_le32(~__skb_checksum(skb, offset, skb->len - offset, 73 new = ~__skb_checksum(skb, offset, skb->len - offset, ~(__wsum)0, &ops);
72 ~(__u32)0, &ops));
73 sh->checksum = old; 74 sh->checksum = old;
74 75
75 return ret; 76 return cpu_to_le32((__force __u32)new);
76} 77}
77 78
78#endif /* __sctp_checksum_h__ */ 79#endif /* __sctp_checksum_h__ */
diff --git a/include/net/sctp/sctp.h b/include/net/sctp/sctp.h
index 749a42882437..906a9c0efa71 100644
--- a/include/net/sctp/sctp.h
+++ b/include/net/sctp/sctp.h
@@ -195,6 +195,11 @@ void sctp_remaddr_proc_exit(struct net *net);
195int sctp_offload_init(void); 195int sctp_offload_init(void);
196 196
197/* 197/*
198 * sctp/stream_sched.c
199 */
200void sctp_sched_ops_init(void);
201
202/*
198 * sctp/stream.c 203 * sctp/stream.c
199 */ 204 */
200int sctp_send_reset_streams(struct sctp_association *asoc, 205int sctp_send_reset_streams(struct sctp_association *asoc,
diff --git a/include/net/sctp/stream_sched.h b/include/net/sctp/stream_sched.h
index c676550a4c7d..5c5da48f65e7 100644
--- a/include/net/sctp/stream_sched.h
+++ b/include/net/sctp/stream_sched.h
@@ -69,4 +69,9 @@ void sctp_sched_dequeue_common(struct sctp_outq *q, struct sctp_chunk *ch);
69int sctp_sched_init_sid(struct sctp_stream *stream, __u16 sid, gfp_t gfp); 69int sctp_sched_init_sid(struct sctp_stream *stream, __u16 sid, gfp_t gfp);
70struct sctp_sched_ops *sctp_sched_ops_from_stream(struct sctp_stream *stream); 70struct sctp_sched_ops *sctp_sched_ops_from_stream(struct sctp_stream *stream);
71 71
72void sctp_sched_ops_register(enum sctp_sched_type sched,
73 struct sctp_sched_ops *sched_ops);
74void sctp_sched_ops_prio_init(void);
75void sctp_sched_ops_rr_init(void);
76
72#endif /* __sctp_stream_sched_h__ */ 77#endif /* __sctp_stream_sched_h__ */
diff --git a/include/net/sctp/structs.h b/include/net/sctp/structs.h
index 16f949eef52f..2f8f93da5dc2 100644
--- a/include/net/sctp/structs.h
+++ b/include/net/sctp/structs.h
@@ -503,7 +503,8 @@ struct sctp_datamsg {
503 /* Did the messenge fail to send? */ 503 /* Did the messenge fail to send? */
504 int send_error; 504 int send_error;
505 u8 send_failed:1, 505 u8 send_failed:1,
506 can_delay; /* should this message be Nagle delayed */ 506 can_delay:1, /* should this message be Nagle delayed */
507 abandoned:1; /* should this message be abandoned */
507}; 508};
508 509
509struct sctp_datamsg *sctp_datamsg_from_user(struct sctp_association *, 510struct sctp_datamsg *sctp_datamsg_from_user(struct sctp_association *,
diff --git a/include/net/sock.h b/include/net/sock.h
index 79e1a2c7912c..9155da422692 100644
--- a/include/net/sock.h
+++ b/include/net/sock.h
@@ -685,11 +685,7 @@ static inline void sk_add_node_rcu(struct sock *sk, struct hlist_head *list)
685 685
686static inline void __sk_nulls_add_node_rcu(struct sock *sk, struct hlist_nulls_head *list) 686static inline void __sk_nulls_add_node_rcu(struct sock *sk, struct hlist_nulls_head *list)
687{ 687{
688 if (IS_ENABLED(CONFIG_IPV6) && sk->sk_reuseport && 688 hlist_nulls_add_head_rcu(&sk->sk_nulls_node, list);
689 sk->sk_family == AF_INET6)
690 hlist_nulls_add_tail_rcu(&sk->sk_nulls_node, list);
691 else
692 hlist_nulls_add_head_rcu(&sk->sk_nulls_node, list);
693} 689}
694 690
695static inline void sk_nulls_add_node_rcu(struct sock *sk, struct hlist_nulls_head *list) 691static inline void sk_nulls_add_node_rcu(struct sock *sk, struct hlist_nulls_head *list)
diff --git a/include/net/tc_act/tc_sample.h b/include/net/tc_act/tc_sample.h
index 524cee4f4c81..01dbfea32672 100644
--- a/include/net/tc_act/tc_sample.h
+++ b/include/net/tc_act/tc_sample.h
@@ -14,7 +14,6 @@ struct tcf_sample {
14 struct psample_group __rcu *psample_group; 14 struct psample_group __rcu *psample_group;
15 u32 psample_group_num; 15 u32 psample_group_num;
16 struct list_head tcfm_list; 16 struct list_head tcfm_list;
17 struct rcu_head rcu;
18}; 17};
19#define to_sample(a) ((struct tcf_sample *)a) 18#define to_sample(a) ((struct tcf_sample *)a)
20 19
diff --git a/include/net/tcp.h b/include/net/tcp.h
index 4e09398009c1..6da880d2f022 100644
--- a/include/net/tcp.h
+++ b/include/net/tcp.h
@@ -844,12 +844,11 @@ static inline int tcp_v6_sdif(const struct sk_buff *skb)
844} 844}
845#endif 845#endif
846 846
847/* TCP_SKB_CB reference means this can not be used from early demux */
848static inline bool inet_exact_dif_match(struct net *net, struct sk_buff *skb) 847static inline bool inet_exact_dif_match(struct net *net, struct sk_buff *skb)
849{ 848{
850#if IS_ENABLED(CONFIG_NET_L3_MASTER_DEV) 849#if IS_ENABLED(CONFIG_NET_L3_MASTER_DEV)
851 if (!net->ipv4.sysctl_tcp_l3mdev_accept && 850 if (!net->ipv4.sysctl_tcp_l3mdev_accept &&
852 skb && ipv4_l3mdev_skb(TCP_SKB_CB(skb)->header.h4.flags)) 851 skb && ipv4_l3mdev_skb(IPCB(skb)->flags))
853 return true; 852 return true;
854#endif 853#endif
855 return false; 854 return false;
@@ -1056,7 +1055,7 @@ void tcp_rate_skb_sent(struct sock *sk, struct sk_buff *skb);
1056void tcp_rate_skb_delivered(struct sock *sk, struct sk_buff *skb, 1055void tcp_rate_skb_delivered(struct sock *sk, struct sk_buff *skb,
1057 struct rate_sample *rs); 1056 struct rate_sample *rs);
1058void tcp_rate_gen(struct sock *sk, u32 delivered, u32 lost, 1057void tcp_rate_gen(struct sock *sk, u32 delivered, u32 lost,
1059 struct rate_sample *rs); 1058 bool is_sack_reneg, struct rate_sample *rs);
1060void tcp_rate_check_app_limited(struct sock *sk); 1059void tcp_rate_check_app_limited(struct sock *sk);
1061 1060
1062/* These functions determine how the current flow behaves in respect of SACK 1061/* These functions determine how the current flow behaves in respect of SACK
diff --git a/include/scsi/libsas.h b/include/scsi/libsas.h
index 0f9cbf96c093..6df6fe0c2198 100644
--- a/include/scsi/libsas.h
+++ b/include/scsi/libsas.h
@@ -159,11 +159,11 @@ struct expander_device {
159 159
160struct sata_device { 160struct sata_device {
161 unsigned int class; 161 unsigned int class;
162 struct smp_resp rps_resp; /* report_phy_sata_resp */
163 u8 port_no; /* port number, if this is a PM (Port) */ 162 u8 port_no; /* port number, if this is a PM (Port) */
164 163
165 struct ata_port *ap; 164 struct ata_port *ap;
166 struct ata_host ata_host; 165 struct ata_host ata_host;
166 struct smp_resp rps_resp ____cacheline_aligned; /* report_phy_sata_resp */
167 u8 fis[ATA_RESP_FIS_SIZE]; 167 u8 fis[ATA_RESP_FIS_SIZE];
168}; 168};
169 169
diff --git a/include/trace/events/rxrpc.h b/include/trace/events/rxrpc.h
index ebe96796027a..36cb50c111a6 100644
--- a/include/trace/events/rxrpc.h
+++ b/include/trace/events/rxrpc.h
@@ -49,6 +49,7 @@ enum rxrpc_conn_trace {
49 rxrpc_conn_put_client, 49 rxrpc_conn_put_client,
50 rxrpc_conn_put_service, 50 rxrpc_conn_put_service,
51 rxrpc_conn_queued, 51 rxrpc_conn_queued,
52 rxrpc_conn_reap_service,
52 rxrpc_conn_seen, 53 rxrpc_conn_seen,
53}; 54};
54 55
@@ -138,10 +139,24 @@ enum rxrpc_rtt_rx_trace {
138 139
139enum rxrpc_timer_trace { 140enum rxrpc_timer_trace {
140 rxrpc_timer_begin, 141 rxrpc_timer_begin,
142 rxrpc_timer_exp_ack,
143 rxrpc_timer_exp_hard,
144 rxrpc_timer_exp_idle,
145 rxrpc_timer_exp_keepalive,
146 rxrpc_timer_exp_lost_ack,
147 rxrpc_timer_exp_normal,
148 rxrpc_timer_exp_ping,
149 rxrpc_timer_exp_resend,
141 rxrpc_timer_expired, 150 rxrpc_timer_expired,
142 rxrpc_timer_init_for_reply, 151 rxrpc_timer_init_for_reply,
143 rxrpc_timer_init_for_send_reply, 152 rxrpc_timer_init_for_send_reply,
153 rxrpc_timer_restart,
144 rxrpc_timer_set_for_ack, 154 rxrpc_timer_set_for_ack,
155 rxrpc_timer_set_for_hard,
156 rxrpc_timer_set_for_idle,
157 rxrpc_timer_set_for_keepalive,
158 rxrpc_timer_set_for_lost_ack,
159 rxrpc_timer_set_for_normal,
145 rxrpc_timer_set_for_ping, 160 rxrpc_timer_set_for_ping,
146 rxrpc_timer_set_for_resend, 161 rxrpc_timer_set_for_resend,
147 rxrpc_timer_set_for_send, 162 rxrpc_timer_set_for_send,
@@ -150,6 +165,7 @@ enum rxrpc_timer_trace {
150enum rxrpc_propose_ack_trace { 165enum rxrpc_propose_ack_trace {
151 rxrpc_propose_ack_client_tx_end, 166 rxrpc_propose_ack_client_tx_end,
152 rxrpc_propose_ack_input_data, 167 rxrpc_propose_ack_input_data,
168 rxrpc_propose_ack_ping_for_keepalive,
153 rxrpc_propose_ack_ping_for_lost_ack, 169 rxrpc_propose_ack_ping_for_lost_ack,
154 rxrpc_propose_ack_ping_for_lost_reply, 170 rxrpc_propose_ack_ping_for_lost_reply,
155 rxrpc_propose_ack_ping_for_params, 171 rxrpc_propose_ack_ping_for_params,
@@ -206,6 +222,7 @@ enum rxrpc_congest_change {
206 EM(rxrpc_conn_put_client, "PTc") \ 222 EM(rxrpc_conn_put_client, "PTc") \
207 EM(rxrpc_conn_put_service, "PTs") \ 223 EM(rxrpc_conn_put_service, "PTs") \
208 EM(rxrpc_conn_queued, "QUE") \ 224 EM(rxrpc_conn_queued, "QUE") \
225 EM(rxrpc_conn_reap_service, "RPs") \
209 E_(rxrpc_conn_seen, "SEE") 226 E_(rxrpc_conn_seen, "SEE")
210 227
211#define rxrpc_client_traces \ 228#define rxrpc_client_traces \
@@ -296,16 +313,31 @@ enum rxrpc_congest_change {
296#define rxrpc_timer_traces \ 313#define rxrpc_timer_traces \
297 EM(rxrpc_timer_begin, "Begin ") \ 314 EM(rxrpc_timer_begin, "Begin ") \
298 EM(rxrpc_timer_expired, "*EXPR*") \ 315 EM(rxrpc_timer_expired, "*EXPR*") \
316 EM(rxrpc_timer_exp_ack, "ExpAck") \
317 EM(rxrpc_timer_exp_hard, "ExpHrd") \
318 EM(rxrpc_timer_exp_idle, "ExpIdl") \
319 EM(rxrpc_timer_exp_keepalive, "ExpKA ") \
320 EM(rxrpc_timer_exp_lost_ack, "ExpLoA") \
321 EM(rxrpc_timer_exp_normal, "ExpNml") \
322 EM(rxrpc_timer_exp_ping, "ExpPng") \
323 EM(rxrpc_timer_exp_resend, "ExpRsn") \
299 EM(rxrpc_timer_init_for_reply, "IniRpl") \ 324 EM(rxrpc_timer_init_for_reply, "IniRpl") \
300 EM(rxrpc_timer_init_for_send_reply, "SndRpl") \ 325 EM(rxrpc_timer_init_for_send_reply, "SndRpl") \
326 EM(rxrpc_timer_restart, "Restrt") \
301 EM(rxrpc_timer_set_for_ack, "SetAck") \ 327 EM(rxrpc_timer_set_for_ack, "SetAck") \
328 EM(rxrpc_timer_set_for_hard, "SetHrd") \
329 EM(rxrpc_timer_set_for_idle, "SetIdl") \
330 EM(rxrpc_timer_set_for_keepalive, "KeepAl") \
331 EM(rxrpc_timer_set_for_lost_ack, "SetLoA") \
332 EM(rxrpc_timer_set_for_normal, "SetNml") \
302 EM(rxrpc_timer_set_for_ping, "SetPng") \ 333 EM(rxrpc_timer_set_for_ping, "SetPng") \
303 EM(rxrpc_timer_set_for_resend, "SetRTx") \ 334 EM(rxrpc_timer_set_for_resend, "SetRTx") \
304 E_(rxrpc_timer_set_for_send, "SetTx ") 335 E_(rxrpc_timer_set_for_send, "SetSnd")
305 336
306#define rxrpc_propose_ack_traces \ 337#define rxrpc_propose_ack_traces \
307 EM(rxrpc_propose_ack_client_tx_end, "ClTxEnd") \ 338 EM(rxrpc_propose_ack_client_tx_end, "ClTxEnd") \
308 EM(rxrpc_propose_ack_input_data, "DataIn ") \ 339 EM(rxrpc_propose_ack_input_data, "DataIn ") \
340 EM(rxrpc_propose_ack_ping_for_keepalive, "KeepAlv") \
309 EM(rxrpc_propose_ack_ping_for_lost_ack, "LostAck") \ 341 EM(rxrpc_propose_ack_ping_for_lost_ack, "LostAck") \
310 EM(rxrpc_propose_ack_ping_for_lost_reply, "LostRpl") \ 342 EM(rxrpc_propose_ack_ping_for_lost_reply, "LostRpl") \
311 EM(rxrpc_propose_ack_ping_for_params, "Params ") \ 343 EM(rxrpc_propose_ack_ping_for_params, "Params ") \
@@ -932,39 +964,47 @@ TRACE_EVENT(rxrpc_rtt_rx,
932 964
933TRACE_EVENT(rxrpc_timer, 965TRACE_EVENT(rxrpc_timer,
934 TP_PROTO(struct rxrpc_call *call, enum rxrpc_timer_trace why, 966 TP_PROTO(struct rxrpc_call *call, enum rxrpc_timer_trace why,
935 ktime_t now, unsigned long now_j), 967 unsigned long now),
936 968
937 TP_ARGS(call, why, now, now_j), 969 TP_ARGS(call, why, now),
938 970
939 TP_STRUCT__entry( 971 TP_STRUCT__entry(
940 __field(struct rxrpc_call *, call ) 972 __field(struct rxrpc_call *, call )
941 __field(enum rxrpc_timer_trace, why ) 973 __field(enum rxrpc_timer_trace, why )
942 __field_struct(ktime_t, now ) 974 __field(long, now )
943 __field_struct(ktime_t, expire_at ) 975 __field(long, ack_at )
944 __field_struct(ktime_t, ack_at ) 976 __field(long, ack_lost_at )
945 __field_struct(ktime_t, resend_at ) 977 __field(long, resend_at )
946 __field(unsigned long, now_j ) 978 __field(long, ping_at )
947 __field(unsigned long, timer ) 979 __field(long, expect_rx_by )
980 __field(long, expect_req_by )
981 __field(long, expect_term_by )
982 __field(long, timer )
948 ), 983 ),
949 984
950 TP_fast_assign( 985 TP_fast_assign(
951 __entry->call = call; 986 __entry->call = call;
952 __entry->why = why; 987 __entry->why = why;
953 __entry->now = now; 988 __entry->now = now;
954 __entry->expire_at = call->expire_at; 989 __entry->ack_at = call->ack_at;
955 __entry->ack_at = call->ack_at; 990 __entry->ack_lost_at = call->ack_lost_at;
956 __entry->resend_at = call->resend_at; 991 __entry->resend_at = call->resend_at;
957 __entry->now_j = now_j; 992 __entry->expect_rx_by = call->expect_rx_by;
958 __entry->timer = call->timer.expires; 993 __entry->expect_req_by = call->expect_req_by;
994 __entry->expect_term_by = call->expect_term_by;
995 __entry->timer = call->timer.expires;
959 ), 996 ),
960 997
961 TP_printk("c=%p %s x=%lld a=%lld r=%lld t=%ld", 998 TP_printk("c=%p %s a=%ld la=%ld r=%ld xr=%ld xq=%ld xt=%ld t=%ld",
962 __entry->call, 999 __entry->call,
963 __print_symbolic(__entry->why, rxrpc_timer_traces), 1000 __print_symbolic(__entry->why, rxrpc_timer_traces),
964 ktime_to_ns(ktime_sub(__entry->expire_at, __entry->now)), 1001 __entry->ack_at - __entry->now,
965 ktime_to_ns(ktime_sub(__entry->ack_at, __entry->now)), 1002 __entry->ack_lost_at - __entry->now,
966 ktime_to_ns(ktime_sub(__entry->resend_at, __entry->now)), 1003 __entry->resend_at - __entry->now,
967 __entry->timer - __entry->now_j) 1004 __entry->expect_rx_by - __entry->now,
1005 __entry->expect_req_by - __entry->now,
1006 __entry->expect_term_by - __entry->now,
1007 __entry->timer - __entry->now)
968 ); 1008 );
969 1009
970TRACE_EVENT(rxrpc_rx_lose, 1010TRACE_EVENT(rxrpc_rx_lose,
@@ -1080,7 +1120,7 @@ TRACE_EVENT(rxrpc_congest,
1080 memcpy(&__entry->sum, summary, sizeof(__entry->sum)); 1120 memcpy(&__entry->sum, summary, sizeof(__entry->sum));
1081 ), 1121 ),
1082 1122
1083 TP_printk("c=%p %08x %s %08x %s cw=%u ss=%u nr=%u,%u nw=%u,%u r=%u b=%u u=%u d=%u l=%x%s%s%s", 1123 TP_printk("c=%p r=%08x %s q=%08x %s cw=%u ss=%u nr=%u,%u nw=%u,%u r=%u b=%u u=%u d=%u l=%x%s%s%s",
1084 __entry->call, 1124 __entry->call,
1085 __entry->ack_serial, 1125 __entry->ack_serial,
1086 __print_symbolic(__entry->sum.ack_reason, rxrpc_ack_names), 1126 __print_symbolic(__entry->sum.ack_reason, rxrpc_ack_names),
diff --git a/include/trace/events/xdp.h b/include/trace/events/xdp.h
index 4cd0f05d0113..8989a92c571a 100644
--- a/include/trace/events/xdp.h
+++ b/include/trace/events/xdp.h
@@ -8,6 +8,7 @@
8#include <linux/netdevice.h> 8#include <linux/netdevice.h>
9#include <linux/filter.h> 9#include <linux/filter.h>
10#include <linux/tracepoint.h> 10#include <linux/tracepoint.h>
11#include <linux/bpf.h>
11 12
12#define __XDP_ACT_MAP(FN) \ 13#define __XDP_ACT_MAP(FN) \
13 FN(ABORTED) \ 14 FN(ABORTED) \
diff --git a/include/uapi/asm-generic/bpf_perf_event.h b/include/uapi/asm-generic/bpf_perf_event.h
new file mode 100644
index 000000000000..53815d2cd047
--- /dev/null
+++ b/include/uapi/asm-generic/bpf_perf_event.h
@@ -0,0 +1,9 @@
1#ifndef _UAPI__ASM_GENERIC_BPF_PERF_EVENT_H__
2#define _UAPI__ASM_GENERIC_BPF_PERF_EVENT_H__
3
4#include <linux/ptrace.h>
5
6/* Export kernel pt_regs structure */
7typedef struct pt_regs bpf_user_pt_regs_t;
8
9#endif /* _UAPI__ASM_GENERIC_BPF_PERF_EVENT_H__ */
diff --git a/include/uapi/linux/bcache.h b/include/uapi/linux/bcache.h
index 90fc490f973f..821f71a2e48f 100644
--- a/include/uapi/linux/bcache.h
+++ b/include/uapi/linux/bcache.h
@@ -91,7 +91,7 @@ PTR_FIELD(PTR_GEN, 0, 8)
91 91
92#define PTR_CHECK_DEV ((1 << PTR_DEV_BITS) - 1) 92#define PTR_CHECK_DEV ((1 << PTR_DEV_BITS) - 1)
93 93
94#define PTR(gen, offset, dev) \ 94#define MAKE_PTR(gen, offset, dev) \
95 ((((__u64) dev) << 51) | ((__u64) offset) << 8 | gen) 95 ((((__u64) dev) << 51) | ((__u64) offset) << 8 | gen)
96 96
97/* Bkey utility code */ 97/* Bkey utility code */
diff --git a/include/uapi/linux/bfs_fs.h b/include/uapi/linux/bfs_fs.h
index 73445ef07dda..940b04772af8 100644
--- a/include/uapi/linux/bfs_fs.h
+++ b/include/uapi/linux/bfs_fs.h
@@ -76,7 +76,7 @@ struct bfs_super_block {
76#define BFS_FILEBLOCKS(ip) \ 76#define BFS_FILEBLOCKS(ip) \
77 ((ip)->i_sblock == 0 ? 0 : (le32_to_cpu((ip)->i_eblock) + 1) - le32_to_cpu((ip)->i_sblock)) 77 ((ip)->i_sblock == 0 ? 0 : (le32_to_cpu((ip)->i_eblock) + 1) - le32_to_cpu((ip)->i_sblock))
78#define BFS_UNCLEAN(bfs_sb, sb) \ 78#define BFS_UNCLEAN(bfs_sb, sb) \
79 ((le32_to_cpu(bfs_sb->s_from) != -1) && (le32_to_cpu(bfs_sb->s_to) != -1) && !(sb->s_flags & MS_RDONLY)) 79 ((le32_to_cpu(bfs_sb->s_from) != -1) && (le32_to_cpu(bfs_sb->s_to) != -1) && !(sb->s_flags & SB_RDONLY))
80 80
81 81
82#endif /* _LINUX_BFS_FS_H */ 82#endif /* _LINUX_BFS_FS_H */
diff --git a/include/uapi/linux/bpf_perf_event.h b/include/uapi/linux/bpf_perf_event.h
index af549d4ecf1b..8f95303f9d80 100644
--- a/include/uapi/linux/bpf_perf_event.h
+++ b/include/uapi/linux/bpf_perf_event.h
@@ -8,11 +8,10 @@
8#ifndef _UAPI__LINUX_BPF_PERF_EVENT_H__ 8#ifndef _UAPI__LINUX_BPF_PERF_EVENT_H__
9#define _UAPI__LINUX_BPF_PERF_EVENT_H__ 9#define _UAPI__LINUX_BPF_PERF_EVENT_H__
10 10
11#include <linux/types.h> 11#include <asm/bpf_perf_event.h>
12#include <linux/ptrace.h>
13 12
14struct bpf_perf_event_data { 13struct bpf_perf_event_data {
15 struct pt_regs regs; 14 bpf_user_pt_regs_t regs;
16 __u64 sample_period; 15 __u64 sample_period;
17}; 16};
18 17
diff --git a/include/uapi/linux/kfd_ioctl.h b/include/uapi/linux/kfd_ioctl.h
index 731d0df722e3..6e80501368ae 100644
--- a/include/uapi/linux/kfd_ioctl.h
+++ b/include/uapi/linux/kfd_ioctl.h
@@ -233,29 +233,29 @@ struct kfd_ioctl_wait_events_args {
233}; 233};
234 234
235struct kfd_ioctl_set_scratch_backing_va_args { 235struct kfd_ioctl_set_scratch_backing_va_args {
236 uint64_t va_addr; /* to KFD */ 236 __u64 va_addr; /* to KFD */
237 uint32_t gpu_id; /* to KFD */ 237 __u32 gpu_id; /* to KFD */
238 uint32_t pad; 238 __u32 pad;
239}; 239};
240 240
241struct kfd_ioctl_get_tile_config_args { 241struct kfd_ioctl_get_tile_config_args {
242 /* to KFD: pointer to tile array */ 242 /* to KFD: pointer to tile array */
243 uint64_t tile_config_ptr; 243 __u64 tile_config_ptr;
244 /* to KFD: pointer to macro tile array */ 244 /* to KFD: pointer to macro tile array */
245 uint64_t macro_tile_config_ptr; 245 __u64 macro_tile_config_ptr;
246 /* to KFD: array size allocated by user mode 246 /* to KFD: array size allocated by user mode
247 * from KFD: array size filled by kernel 247 * from KFD: array size filled by kernel
248 */ 248 */
249 uint32_t num_tile_configs; 249 __u32 num_tile_configs;
250 /* to KFD: array size allocated by user mode 250 /* to KFD: array size allocated by user mode
251 * from KFD: array size filled by kernel 251 * from KFD: array size filled by kernel
252 */ 252 */
253 uint32_t num_macro_tile_configs; 253 __u32 num_macro_tile_configs;
254 254
255 uint32_t gpu_id; /* to KFD */ 255 __u32 gpu_id; /* to KFD */
256 uint32_t gb_addr_config; /* from KFD */ 256 __u32 gb_addr_config; /* from KFD */
257 uint32_t num_banks; /* from KFD */ 257 __u32 num_banks; /* from KFD */
258 uint32_t num_ranks; /* from KFD */ 258 __u32 num_ranks; /* from KFD */
259 /* struct size can be extended later if needed 259 /* struct size can be extended later if needed
260 * without breaking ABI compatibility 260 * without breaking ABI compatibility
261 */ 261 */
diff --git a/include/uapi/linux/kvm.h b/include/uapi/linux/kvm.h
index 282d7613fce8..496e59a2738b 100644
--- a/include/uapi/linux/kvm.h
+++ b/include/uapi/linux/kvm.h
@@ -630,9 +630,9 @@ struct kvm_s390_irq {
630 630
631struct kvm_s390_irq_state { 631struct kvm_s390_irq_state {
632 __u64 buf; 632 __u64 buf;
633 __u32 flags; 633 __u32 flags; /* will stay unused for compatibility reasons */
634 __u32 len; 634 __u32 len;
635 __u32 reserved[4]; 635 __u32 reserved[4]; /* will stay unused for compatibility reasons */
636}; 636};
637 637
638/* for KVM_SET_GUEST_DEBUG */ 638/* for KVM_SET_GUEST_DEBUG */
diff --git a/include/uapi/linux/rxrpc.h b/include/uapi/linux/rxrpc.h
index 9d4afea308a4..9335d92c14a4 100644
--- a/include/uapi/linux/rxrpc.h
+++ b/include/uapi/linux/rxrpc.h
@@ -59,6 +59,7 @@ enum rxrpc_cmsg_type {
59 RXRPC_EXCLUSIVE_CALL = 10, /* s-: Call should be on exclusive connection */ 59 RXRPC_EXCLUSIVE_CALL = 10, /* s-: Call should be on exclusive connection */
60 RXRPC_UPGRADE_SERVICE = 11, /* s-: Request service upgrade for client call */ 60 RXRPC_UPGRADE_SERVICE = 11, /* s-: Request service upgrade for client call */
61 RXRPC_TX_LENGTH = 12, /* s-: Total length of Tx data */ 61 RXRPC_TX_LENGTH = 12, /* s-: Total length of Tx data */
62 RXRPC_SET_CALL_TIMEOUT = 13, /* s-: Set one or more call timeouts */
62 RXRPC__SUPPORTED 63 RXRPC__SUPPORTED
63}; 64};
64 65
diff --git a/include/uapi/linux/usb/ch9.h b/include/uapi/linux/usb/ch9.h
index 41a0a81b01e6..c4c79aa331bd 100644
--- a/include/uapi/linux/usb/ch9.h
+++ b/include/uapi/linux/usb/ch9.h
@@ -880,6 +880,8 @@ struct usb_wireless_cap_descriptor { /* Ultra Wide Band */
880 __u8 bReserved; 880 __u8 bReserved;
881} __attribute__((packed)); 881} __attribute__((packed));
882 882
883#define USB_DT_USB_WIRELESS_CAP_SIZE 11
884
883/* USB 2.0 Extension descriptor */ 885/* USB 2.0 Extension descriptor */
884#define USB_CAP_TYPE_EXT 2 886#define USB_CAP_TYPE_EXT 2
885 887
@@ -1072,6 +1074,7 @@ struct usb_ptm_cap_descriptor {
1072 __u8 bDevCapabilityType; 1074 __u8 bDevCapabilityType;
1073} __attribute__((packed)); 1075} __attribute__((packed));
1074 1076
1077#define USB_DT_USB_PTM_ID_SIZE 3
1075/* 1078/*
1076 * The size of the descriptor for the Sublink Speed Attribute Count 1079 * The size of the descriptor for the Sublink Speed Attribute Count
1077 * (SSAC) specified in bmAttributes[4:0]. 1080 * (SSAC) specified in bmAttributes[4:0].
diff --git a/include/uapi/linux/vm_sockets_diag.h b/include/uapi/linux/vm_sockets_diag.h
index 14cd7dc5a187..0b4dd54f3d1e 100644
--- a/include/uapi/linux/vm_sockets_diag.h
+++ b/include/uapi/linux/vm_sockets_diag.h
@@ -1,3 +1,4 @@
1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
1/* AF_VSOCK sock_diag(7) interface for querying open sockets */ 2/* AF_VSOCK sock_diag(7) interface for querying open sockets */
2 3
3#ifndef _UAPI__VM_SOCKETS_DIAG_H__ 4#ifndef _UAPI__VM_SOCKETS_DIAG_H__