diff options
| author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2016-09-05 02:13:24 -0400 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2016-09-05 02:13:24 -0400 |
| commit | 9c2edd8b5bcb36ec6c890dd85f8fd13034aaa43e (patch) | |
| tree | 052b3c229e00462cd0c5773c8b6b9fe314e86f38 /include | |
| parent | aa652b1ccbd0d3a9cd4ecdec6d36935f78c838da (diff) | |
| parent | c6935931c1894ff857616ff8549b61236a19148f (diff) | |
Merge 4.8-rc5 into staging-next
We want the staging fixes in here as well to handle merge issues.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include')
46 files changed, 446 insertions, 167 deletions
diff --git a/include/asm-generic/uaccess.h b/include/asm-generic/uaccess.h index 1bfa602958f2..5dea1fb6979c 100644 --- a/include/asm-generic/uaccess.h +++ b/include/asm-generic/uaccess.h | |||
| @@ -72,6 +72,7 @@ struct exception_table_entry | |||
| 72 | /* Returns 0 if exception not found and fixup otherwise. */ | 72 | /* Returns 0 if exception not found and fixup otherwise. */ |
| 73 | extern unsigned long search_exception_table(unsigned long); | 73 | extern unsigned long search_exception_table(unsigned long); |
| 74 | 74 | ||
| 75 | |||
| 75 | /* | 76 | /* |
| 76 | * architectures with an MMU should override these two | 77 | * architectures with an MMU should override these two |
| 77 | */ | 78 | */ |
diff --git a/include/linux/acpi.h b/include/linux/acpi.h index 4d8452c2384b..c5eaf2f80a4c 100644 --- a/include/linux/acpi.h +++ b/include/linux/acpi.h | |||
| @@ -1056,7 +1056,7 @@ static inline struct fwnode_handle *acpi_get_next_subnode(struct device *dev, | |||
| 1056 | return NULL; | 1056 | return NULL; |
| 1057 | } | 1057 | } |
| 1058 | 1058 | ||
| 1059 | #define ACPI_DECLARE_PROBE_ENTRY(table, name, table_id, subtable, validate, data, fn) \ | 1059 | #define ACPI_DECLARE_PROBE_ENTRY(table, name, table_id, subtable, valid, data, fn) \ |
| 1060 | static const void * __acpi_table_##name[] \ | 1060 | static const void * __acpi_table_##name[] \ |
| 1061 | __attribute__((unused)) \ | 1061 | __attribute__((unused)) \ |
| 1062 | = { (void *) table_id, \ | 1062 | = { (void *) table_id, \ |
diff --git a/include/linux/bio.h b/include/linux/bio.h index 59ffaa68b11b..23ddf4b46a9b 100644 --- a/include/linux/bio.h +++ b/include/linux/bio.h | |||
| @@ -71,7 +71,8 @@ static inline bool bio_has_data(struct bio *bio) | |||
| 71 | { | 71 | { |
| 72 | if (bio && | 72 | if (bio && |
| 73 | bio->bi_iter.bi_size && | 73 | bio->bi_iter.bi_size && |
| 74 | bio_op(bio) != REQ_OP_DISCARD) | 74 | bio_op(bio) != REQ_OP_DISCARD && |
| 75 | bio_op(bio) != REQ_OP_SECURE_ERASE) | ||
| 75 | return true; | 76 | return true; |
| 76 | 77 | ||
| 77 | return false; | 78 | return false; |
| @@ -79,7 +80,9 @@ static inline bool bio_has_data(struct bio *bio) | |||
| 79 | 80 | ||
| 80 | static inline bool bio_no_advance_iter(struct bio *bio) | 81 | static inline bool bio_no_advance_iter(struct bio *bio) |
| 81 | { | 82 | { |
| 82 | return bio_op(bio) == REQ_OP_DISCARD || bio_op(bio) == REQ_OP_WRITE_SAME; | 83 | return bio_op(bio) == REQ_OP_DISCARD || |
| 84 | bio_op(bio) == REQ_OP_SECURE_ERASE || | ||
| 85 | bio_op(bio) == REQ_OP_WRITE_SAME; | ||
| 83 | } | 86 | } |
| 84 | 87 | ||
| 85 | static inline bool bio_is_rw(struct bio *bio) | 88 | static inline bool bio_is_rw(struct bio *bio) |
| @@ -199,6 +202,9 @@ static inline unsigned bio_segments(struct bio *bio) | |||
| 199 | if (bio_op(bio) == REQ_OP_DISCARD) | 202 | if (bio_op(bio) == REQ_OP_DISCARD) |
| 200 | return 1; | 203 | return 1; |
| 201 | 204 | ||
| 205 | if (bio_op(bio) == REQ_OP_SECURE_ERASE) | ||
| 206 | return 1; | ||
| 207 | |||
| 202 | if (bio_op(bio) == REQ_OP_WRITE_SAME) | 208 | if (bio_op(bio) == REQ_OP_WRITE_SAME) |
| 203 | return 1; | 209 | return 1; |
| 204 | 210 | ||
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index 2c210b6a7bcf..e79055c8b577 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h | |||
| @@ -882,7 +882,7 @@ static inline unsigned int blk_rq_cur_sectors(const struct request *rq) | |||
| 882 | static inline unsigned int blk_queue_get_max_sectors(struct request_queue *q, | 882 | static inline unsigned int blk_queue_get_max_sectors(struct request_queue *q, |
| 883 | int op) | 883 | int op) |
| 884 | { | 884 | { |
| 885 | if (unlikely(op == REQ_OP_DISCARD)) | 885 | if (unlikely(op == REQ_OP_DISCARD || op == REQ_OP_SECURE_ERASE)) |
| 886 | return min(q->limits.max_discard_sectors, UINT_MAX >> 9); | 886 | return min(q->limits.max_discard_sectors, UINT_MAX >> 9); |
| 887 | 887 | ||
| 888 | if (unlikely(op == REQ_OP_WRITE_SAME)) | 888 | if (unlikely(op == REQ_OP_WRITE_SAME)) |
| @@ -913,7 +913,9 @@ static inline unsigned int blk_rq_get_max_sectors(struct request *rq, | |||
| 913 | if (unlikely(rq->cmd_type != REQ_TYPE_FS)) | 913 | if (unlikely(rq->cmd_type != REQ_TYPE_FS)) |
| 914 | return q->limits.max_hw_sectors; | 914 | return q->limits.max_hw_sectors; |
| 915 | 915 | ||
| 916 | if (!q->limits.chunk_sectors || (req_op(rq) == REQ_OP_DISCARD)) | 916 | if (!q->limits.chunk_sectors || |
| 917 | req_op(rq) == REQ_OP_DISCARD || | ||
| 918 | req_op(rq) == REQ_OP_SECURE_ERASE) | ||
| 917 | return blk_queue_get_max_sectors(q, req_op(rq)); | 919 | return blk_queue_get_max_sectors(q, req_op(rq)); |
| 918 | 920 | ||
| 919 | return min(blk_max_size_offset(q, offset), | 921 | return min(blk_max_size_offset(q, offset), |
diff --git a/include/linux/compiler-gcc.h b/include/linux/compiler-gcc.h index e2949397c19b..573c5a18908f 100644 --- a/include/linux/compiler-gcc.h +++ b/include/linux/compiler-gcc.h | |||
| @@ -158,7 +158,7 @@ | |||
| 158 | #define __compiler_offsetof(a, b) \ | 158 | #define __compiler_offsetof(a, b) \ |
| 159 | __builtin_offsetof(a, b) | 159 | __builtin_offsetof(a, b) |
| 160 | 160 | ||
| 161 | #if GCC_VERSION >= 40100 && GCC_VERSION < 40600 | 161 | #if GCC_VERSION >= 40100 |
| 162 | # define __compiletime_object_size(obj) __builtin_object_size(obj, 0) | 162 | # define __compiletime_object_size(obj) __builtin_object_size(obj, 0) |
| 163 | #endif | 163 | #endif |
| 164 | 164 | ||
| @@ -242,7 +242,11 @@ | |||
| 242 | */ | 242 | */ |
| 243 | #define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0) | 243 | #define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0) |
| 244 | 244 | ||
| 245 | #ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP | 245 | /* |
| 246 | * sparse (__CHECKER__) pretends to be gcc, but can't do constant | ||
| 247 | * folding in __builtin_bswap*() (yet), so don't set these for it. | ||
| 248 | */ | ||
| 249 | #if defined(CONFIG_ARCH_USE_BUILTIN_BSWAP) && !defined(__CHECKER__) | ||
| 246 | #if GCC_VERSION >= 40400 | 250 | #if GCC_VERSION >= 40400 |
| 247 | #define __HAVE_BUILTIN_BSWAP32__ | 251 | #define __HAVE_BUILTIN_BSWAP32__ |
| 248 | #define __HAVE_BUILTIN_BSWAP64__ | 252 | #define __HAVE_BUILTIN_BSWAP64__ |
| @@ -250,7 +254,7 @@ | |||
| 250 | #if GCC_VERSION >= 40800 | 254 | #if GCC_VERSION >= 40800 |
| 251 | #define __HAVE_BUILTIN_BSWAP16__ | 255 | #define __HAVE_BUILTIN_BSWAP16__ |
| 252 | #endif | 256 | #endif |
| 253 | #endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */ | 257 | #endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP && !__CHECKER__ */ |
| 254 | 258 | ||
| 255 | #if GCC_VERSION >= 50000 | 259 | #if GCC_VERSION >= 50000 |
| 256 | #define KASAN_ABI_VERSION 4 | 260 | #define KASAN_ABI_VERSION 4 |
diff --git a/include/linux/compiler.h b/include/linux/compiler.h index 1bb954842725..436aa4e42221 100644 --- a/include/linux/compiler.h +++ b/include/linux/compiler.h | |||
| @@ -527,13 +527,13 @@ static __always_inline void __write_once_size(volatile void *p, void *res, int s | |||
| 527 | * object's lifetime is managed by something other than RCU. That | 527 | * object's lifetime is managed by something other than RCU. That |
| 528 | * "something other" might be reference counting or simple immortality. | 528 | * "something other" might be reference counting or simple immortality. |
| 529 | * | 529 | * |
| 530 | * The seemingly unused void * variable is to validate @p is indeed a pointer | 530 | * The seemingly unused size_t variable is to validate @p is indeed a pointer |
| 531 | * type. All pointer types silently cast to void *. | 531 | * type by making sure it can be dereferenced. |
| 532 | */ | 532 | */ |
| 533 | #define lockless_dereference(p) \ | 533 | #define lockless_dereference(p) \ |
| 534 | ({ \ | 534 | ({ \ |
| 535 | typeof(p) _________p1 = READ_ONCE(p); \ | 535 | typeof(p) _________p1 = READ_ONCE(p); \ |
| 536 | __maybe_unused const void * const _________p2 = _________p1; \ | 536 | size_t __maybe_unused __size_of_ptr = sizeof(*(p)); \ |
| 537 | smp_read_barrier_depends(); /* Dependency order vs. p above. */ \ | 537 | smp_read_barrier_depends(); /* Dependency order vs. p above. */ \ |
| 538 | (_________p1); \ | 538 | (_________p1); \ |
| 539 | }) | 539 | }) |
diff --git a/include/linux/fence.h b/include/linux/fence.h index 8cc719a63728..2ac6fa5f4712 100644 --- a/include/linux/fence.h +++ b/include/linux/fence.h | |||
| @@ -49,8 +49,6 @@ struct fence_cb; | |||
| 49 | * @timestamp: Timestamp when the fence was signaled. | 49 | * @timestamp: Timestamp when the fence was signaled. |
| 50 | * @status: Optional, only valid if < 0, must be set before calling | 50 | * @status: Optional, only valid if < 0, must be set before calling |
| 51 | * fence_signal, indicates that the fence has completed with an error. | 51 | * fence_signal, indicates that the fence has completed with an error. |
| 52 | * @child_list: list of children fences | ||
| 53 | * @active_list: list of active fences | ||
| 54 | * | 52 | * |
| 55 | * the flags member must be manipulated and read using the appropriate | 53 | * the flags member must be manipulated and read using the appropriate |
| 56 | * atomic ops (bit_*), so taking the spinlock will not be needed most | 54 | * atomic ops (bit_*), so taking the spinlock will not be needed most |
diff --git a/include/linux/fs.h b/include/linux/fs.h index 3523bf62f328..901e25d495cc 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h | |||
| @@ -574,6 +574,7 @@ static inline void mapping_allow_writable(struct address_space *mapping) | |||
| 574 | 574 | ||
| 575 | struct posix_acl; | 575 | struct posix_acl; |
| 576 | #define ACL_NOT_CACHED ((void *)(-1)) | 576 | #define ACL_NOT_CACHED ((void *)(-1)) |
| 577 | #define ACL_DONT_CACHE ((void *)(-3)) | ||
| 577 | 578 | ||
| 578 | static inline struct posix_acl * | 579 | static inline struct posix_acl * |
| 579 | uncached_acl_sentinel(struct task_struct *task) | 580 | uncached_acl_sentinel(struct task_struct *task) |
diff --git a/include/linux/host1x.h b/include/linux/host1x.h index d2ba7d334039..1ffbf2a8cb99 100644 --- a/include/linux/host1x.h +++ b/include/linux/host1x.h | |||
| @@ -304,6 +304,8 @@ struct tegra_mipi_device; | |||
| 304 | 304 | ||
| 305 | struct tegra_mipi_device *tegra_mipi_request(struct device *device); | 305 | struct tegra_mipi_device *tegra_mipi_request(struct device *device); |
| 306 | void tegra_mipi_free(struct tegra_mipi_device *device); | 306 | void tegra_mipi_free(struct tegra_mipi_device *device); |
| 307 | int tegra_mipi_enable(struct tegra_mipi_device *device); | ||
| 308 | int tegra_mipi_disable(struct tegra_mipi_device *device); | ||
| 307 | int tegra_mipi_calibrate(struct tegra_mipi_device *device); | 309 | int tegra_mipi_calibrate(struct tegra_mipi_device *device); |
| 308 | 310 | ||
| 309 | #endif | 311 | #endif |
diff --git a/include/linux/iio/sw_trigger.h b/include/linux/iio/sw_trigger.h index 5198f8ed08a4..c97eab67558f 100644 --- a/include/linux/iio/sw_trigger.h +++ b/include/linux/iio/sw_trigger.h | |||
| @@ -62,7 +62,7 @@ void iio_swt_group_init_type_name(struct iio_sw_trigger *t, | |||
| 62 | const char *name, | 62 | const char *name, |
| 63 | struct config_item_type *type) | 63 | struct config_item_type *type) |
| 64 | { | 64 | { |
| 65 | #ifdef CONFIG_CONFIGFS_FS | 65 | #if IS_ENABLED(CONFIG_CONFIGFS_FS) |
| 66 | config_group_init_type_name(&t->group, name, type); | 66 | config_group_init_type_name(&t->group, name, type); |
| 67 | #endif | 67 | #endif |
| 68 | } | 68 | } |
diff --git a/include/linux/iomap.h b/include/linux/iomap.h index 3267df461012..3d70ece10313 100644 --- a/include/linux/iomap.h +++ b/include/linux/iomap.h | |||
| @@ -19,6 +19,11 @@ struct vm_fault; | |||
| 19 | #define IOMAP_UNWRITTEN 0x04 /* blocks allocated @blkno in unwritten state */ | 19 | #define IOMAP_UNWRITTEN 0x04 /* blocks allocated @blkno in unwritten state */ |
| 20 | 20 | ||
| 21 | /* | 21 | /* |
| 22 | * Flags for iomap mappings: | ||
| 23 | */ | ||
| 24 | #define IOMAP_F_MERGED 0x01 /* contains multiple blocks/extents */ | ||
| 25 | |||
| 26 | /* | ||
| 22 | * Magic value for blkno: | 27 | * Magic value for blkno: |
| 23 | */ | 28 | */ |
| 24 | #define IOMAP_NULL_BLOCK -1LL /* blkno is not valid */ | 29 | #define IOMAP_NULL_BLOCK -1LL /* blkno is not valid */ |
| @@ -27,7 +32,8 @@ struct iomap { | |||
| 27 | sector_t blkno; /* 1st sector of mapping, 512b units */ | 32 | sector_t blkno; /* 1st sector of mapping, 512b units */ |
| 28 | loff_t offset; /* file offset of mapping, bytes */ | 33 | loff_t offset; /* file offset of mapping, bytes */ |
| 29 | u64 length; /* length of mapping, bytes */ | 34 | u64 length; /* length of mapping, bytes */ |
| 30 | int type; /* type of mapping */ | 35 | u16 type; /* type of mapping */ |
| 36 | u16 flags; /* flags for mapping */ | ||
| 31 | struct block_device *bdev; /* block device for I/O */ | 37 | struct block_device *bdev; /* block device for I/O */ |
| 32 | }; | 38 | }; |
| 33 | 39 | ||
diff --git a/include/linux/irqchip/arm-gic-v3.h b/include/linux/irqchip/arm-gic-v3.h index 56b0b7ec66aa..99ac022edc60 100644 --- a/include/linux/irqchip/arm-gic-v3.h +++ b/include/linux/irqchip/arm-gic-v3.h | |||
| @@ -337,6 +337,7 @@ | |||
| 337 | */ | 337 | */ |
| 338 | #define E_ITS_MOVI_UNMAPPED_INTERRUPT 0x010107 | 338 | #define E_ITS_MOVI_UNMAPPED_INTERRUPT 0x010107 |
| 339 | #define E_ITS_MOVI_UNMAPPED_COLLECTION 0x010109 | 339 | #define E_ITS_MOVI_UNMAPPED_COLLECTION 0x010109 |
| 340 | #define E_ITS_INT_UNMAPPED_INTERRUPT 0x010307 | ||
| 340 | #define E_ITS_CLEAR_UNMAPPED_INTERRUPT 0x010507 | 341 | #define E_ITS_CLEAR_UNMAPPED_INTERRUPT 0x010507 |
| 341 | #define E_ITS_MAPD_DEVICE_OOR 0x010801 | 342 | #define E_ITS_MAPD_DEVICE_OOR 0x010801 |
| 342 | #define E_ITS_MAPC_PROCNUM_OOR 0x010902 | 343 | #define E_ITS_MAPC_PROCNUM_OOR 0x010902 |
diff --git a/include/linux/mempolicy.h b/include/linux/mempolicy.h index 4429d255c8ab..5e5b2969d931 100644 --- a/include/linux/mempolicy.h +++ b/include/linux/mempolicy.h | |||
| @@ -195,6 +195,7 @@ static inline bool vma_migratable(struct vm_area_struct *vma) | |||
| 195 | } | 195 | } |
| 196 | 196 | ||
| 197 | extern int mpol_misplaced(struct page *, struct vm_area_struct *, unsigned long); | 197 | extern int mpol_misplaced(struct page *, struct vm_area_struct *, unsigned long); |
| 198 | extern void mpol_put_task_policy(struct task_struct *); | ||
| 198 | 199 | ||
| 199 | #else | 200 | #else |
| 200 | 201 | ||
| @@ -297,5 +298,8 @@ static inline int mpol_misplaced(struct page *page, struct vm_area_struct *vma, | |||
| 297 | return -1; /* no node preference */ | 298 | return -1; /* no node preference */ |
| 298 | } | 299 | } |
| 299 | 300 | ||
| 301 | static inline void mpol_put_task_policy(struct task_struct *task) | ||
| 302 | { | ||
| 303 | } | ||
| 300 | #endif /* CONFIG_NUMA */ | 304 | #endif /* CONFIG_NUMA */ |
| 301 | #endif | 305 | #endif |
diff --git a/include/linux/mfd/da8xx-cfgchip.h b/include/linux/mfd/da8xx-cfgchip.h new file mode 100644 index 000000000000..304985e288d2 --- /dev/null +++ b/include/linux/mfd/da8xx-cfgchip.h | |||
| @@ -0,0 +1,153 @@ | |||
| 1 | /* | ||
| 2 | * TI DaVinci DA8xx CHIPCFGx registers for syscon consumers. | ||
| 3 | * | ||
| 4 | * Copyright (C) 2016 David Lechner <david@lechnology.com> | ||
| 5 | * | ||
| 6 | * This program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License as published by | ||
| 8 | * the Free Software Foundation; either version 2 of the License, or | ||
| 9 | * (at your option) any later version. | ||
| 10 | * | ||
| 11 | * This program is distributed in the hope that it will be useful, | ||
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | * GNU General Public License for more details. | ||
| 15 | */ | ||
| 16 | |||
| 17 | #ifndef __LINUX_MFD_DA8XX_CFGCHIP_H | ||
| 18 | #define __LINUX_MFD_DA8XX_CFGCHIP_H | ||
| 19 | |||
| 20 | #include <linux/bitops.h> | ||
| 21 | |||
| 22 | /* register offset (32-bit registers) */ | ||
| 23 | #define CFGCHIP(n) ((n) * 4) | ||
| 24 | |||
| 25 | /* CFGCHIP0 (PLL0/EDMA3_0) register bits */ | ||
| 26 | #define CFGCHIP0_PLL_MASTER_LOCK BIT(4) | ||
| 27 | #define CFGCHIP0_EDMA30TC1DBS(n) ((n) << 2) | ||
| 28 | #define CFGCHIP0_EDMA30TC1DBS_MASK CFGCHIP0_EDMA30TC1DBS(0x3) | ||
| 29 | #define CFGCHIP0_EDMA30TC1DBS_16 CFGCHIP0_EDMA30TC1DBS(0x0) | ||
| 30 | #define CFGCHIP0_EDMA30TC1DBS_32 CFGCHIP0_EDMA30TC1DBS(0x1) | ||
| 31 | #define CFGCHIP0_EDMA30TC1DBS_64 CFGCHIP0_EDMA30TC1DBS(0x2) | ||
| 32 | #define CFGCHIP0_EDMA30TC0DBS(n) ((n) << 0) | ||
| 33 | #define CFGCHIP0_EDMA30TC0DBS_MASK CFGCHIP0_EDMA30TC0DBS(0x3) | ||
| 34 | #define CFGCHIP0_EDMA30TC0DBS_16 CFGCHIP0_EDMA30TC0DBS(0x0) | ||
| 35 | #define CFGCHIP0_EDMA30TC0DBS_32 CFGCHIP0_EDMA30TC0DBS(0x1) | ||
| 36 | #define CFGCHIP0_EDMA30TC0DBS_64 CFGCHIP0_EDMA30TC0DBS(0x2) | ||
| 37 | |||
| 38 | /* CFGCHIP1 (eCAP/HPI/EDMA3_1/eHRPWM TBCLK/McASP0 AMUTEIN) register bits */ | ||
| 39 | #define CFGCHIP1_CAP2SRC(n) ((n) << 27) | ||
| 40 | #define CFGCHIP1_CAP2SRC_MASK CFGCHIP1_CAP2SRC(0x1f) | ||
| 41 | #define CFGCHIP1_CAP2SRC_ECAP_PIN CFGCHIP1_CAP2SRC(0x0) | ||
| 42 | #define CFGCHIP1_CAP2SRC_MCASP0_TX CFGCHIP1_CAP2SRC(0x1) | ||
| 43 | #define CFGCHIP1_CAP2SRC_MCASP0_RX CFGCHIP1_CAP2SRC(0x2) | ||
| 44 | #define CFGCHIP1_CAP2SRC_EMAC_C0_RX_THRESHOLD CFGCHIP1_CAP2SRC(0x7) | ||
| 45 | #define CFGCHIP1_CAP2SRC_EMAC_C0_RX CFGCHIP1_CAP2SRC(0x8) | ||
| 46 | #define CFGCHIP1_CAP2SRC_EMAC_C0_TX CFGCHIP1_CAP2SRC(0x9) | ||
| 47 | #define CFGCHIP1_CAP2SRC_EMAC_C0_MISC CFGCHIP1_CAP2SRC(0xa) | ||
| 48 | #define CFGCHIP1_CAP2SRC_EMAC_C1_RX_THRESHOLD CFGCHIP1_CAP2SRC(0xb) | ||
| 49 | #define CFGCHIP1_CAP2SRC_EMAC_C1_RX CFGCHIP1_CAP2SRC(0xc) | ||
| 50 | #define CFGCHIP1_CAP2SRC_EMAC_C1_TX CFGCHIP1_CAP2SRC(0xd) | ||
| 51 | #define CFGCHIP1_CAP2SRC_EMAC_C1_MISC CFGCHIP1_CAP2SRC(0xe) | ||
| 52 | #define CFGCHIP1_CAP2SRC_EMAC_C2_RX_THRESHOLD CFGCHIP1_CAP2SRC(0xf) | ||
| 53 | #define CFGCHIP1_CAP2SRC_EMAC_C2_RX CFGCHIP1_CAP2SRC(0x10) | ||
| 54 | #define CFGCHIP1_CAP2SRC_EMAC_C2_TX CFGCHIP1_CAP2SRC(0x11) | ||
| 55 | #define CFGCHIP1_CAP2SRC_EMAC_C2_MISC CFGCHIP1_CAP2SRC(0x12) | ||
| 56 | #define CFGCHIP1_CAP1SRC(n) ((n) << 22) | ||
| 57 | #define CFGCHIP1_CAP1SRC_MASK CFGCHIP1_CAP1SRC(0x1f) | ||
| 58 | #define CFGCHIP1_CAP1SRC_ECAP_PIN CFGCHIP1_CAP1SRC(0x0) | ||
| 59 | #define CFGCHIP1_CAP1SRC_MCASP0_TX CFGCHIP1_CAP1SRC(0x1) | ||
| 60 | #define CFGCHIP1_CAP1SRC_MCASP0_RX CFGCHIP1_CAP1SRC(0x2) | ||
| 61 | #define CFGCHIP1_CAP1SRC_EMAC_C0_RX_THRESHOLD CFGCHIP1_CAP1SRC(0x7) | ||
| 62 | #define CFGCHIP1_CAP1SRC_EMAC_C0_RX CFGCHIP1_CAP1SRC(0x8) | ||
| 63 | #define CFGCHIP1_CAP1SRC_EMAC_C0_TX CFGCHIP1_CAP1SRC(0x9) | ||
| 64 | #define CFGCHIP1_CAP1SRC_EMAC_C0_MISC CFGCHIP1_CAP1SRC(0xa) | ||
| 65 | #define CFGCHIP1_CAP1SRC_EMAC_C1_RX_THRESHOLD CFGCHIP1_CAP1SRC(0xb) | ||
| 66 | #define CFGCHIP1_CAP1SRC_EMAC_C1_RX CFGCHIP1_CAP1SRC(0xc) | ||
| 67 | #define CFGCHIP1_CAP1SRC_EMAC_C1_TX CFGCHIP1_CAP1SRC(0xd) | ||
| 68 | #define CFGCHIP1_CAP1SRC_EMAC_C1_MISC CFGCHIP1_CAP1SRC(0xe) | ||
| 69 | #define CFGCHIP1_CAP1SRC_EMAC_C2_RX_THRESHOLD CFGCHIP1_CAP1SRC(0xf) | ||
| 70 | #define CFGCHIP1_CAP1SRC_EMAC_C2_RX CFGCHIP1_CAP1SRC(0x10) | ||
| 71 | #define CFGCHIP1_CAP1SRC_EMAC_C2_TX CFGCHIP1_CAP1SRC(0x11) | ||
| 72 | #define CFGCHIP1_CAP1SRC_EMAC_C2_MISC CFGCHIP1_CAP1SRC(0x12) | ||
| 73 | #define CFGCHIP1_CAP0SRC(n) ((n) << 17) | ||
| 74 | #define CFGCHIP1_CAP0SRC_MASK CFGCHIP1_CAP0SRC(0x1f) | ||
| 75 | #define CFGCHIP1_CAP0SRC_ECAP_PIN CFGCHIP1_CAP0SRC(0x0) | ||
| 76 | #define CFGCHIP1_CAP0SRC_MCASP0_TX CFGCHIP1_CAP0SRC(0x1) | ||
| 77 | #define CFGCHIP1_CAP0SRC_MCASP0_RX CFGCHIP1_CAP0SRC(0x2) | ||
| 78 | #define CFGCHIP1_CAP0SRC_EMAC_C0_RX_THRESHOLD CFGCHIP1_CAP0SRC(0x7) | ||
| 79 | #define CFGCHIP1_CAP0SRC_EMAC_C0_RX CFGCHIP1_CAP0SRC(0x8) | ||
| 80 | #define CFGCHIP1_CAP0SRC_EMAC_C0_TX CFGCHIP1_CAP0SRC(0x9) | ||
| 81 | #define CFGCHIP1_CAP0SRC_EMAC_C0_MISC CFGCHIP1_CAP0SRC(0xa) | ||
| 82 | #define CFGCHIP1_CAP0SRC_EMAC_C1_RX_THRESHOLD CFGCHIP1_CAP0SRC(0xb) | ||
| 83 | #define CFGCHIP1_CAP0SRC_EMAC_C1_RX CFGCHIP1_CAP0SRC(0xc) | ||
| 84 | #define CFGCHIP1_CAP0SRC_EMAC_C1_TX CFGCHIP1_CAP0SRC(0xd) | ||
| 85 | #define CFGCHIP1_CAP0SRC_EMAC_C1_MISC CFGCHIP1_CAP0SRC(0xe) | ||
| 86 | #define CFGCHIP1_CAP0SRC_EMAC_C2_RX_THRESHOLD CFGCHIP1_CAP0SRC(0xf) | ||
| 87 | #define CFGCHIP1_CAP0SRC_EMAC_C2_RX CFGCHIP1_CAP0SRC(0x10) | ||
| 88 | #define CFGCHIP1_CAP0SRC_EMAC_C2_TX CFGCHIP1_CAP0SRC(0x11) | ||
| 89 | #define CFGCHIP1_CAP0SRC_EMAC_C2_MISC CFGCHIP1_CAP0SRC(0x12) | ||
| 90 | #define CFGCHIP1_HPIBYTEAD BIT(16) | ||
| 91 | #define CFGCHIP1_HPIENA BIT(15) | ||
| 92 | #define CFGCHIP0_EDMA31TC0DBS(n) ((n) << 13) | ||
| 93 | #define CFGCHIP0_EDMA31TC0DBS_MASK CFGCHIP0_EDMA31TC0DBS(0x3) | ||
| 94 | #define CFGCHIP0_EDMA31TC0DBS_16 CFGCHIP0_EDMA31TC0DBS(0x0) | ||
| 95 | #define CFGCHIP0_EDMA31TC0DBS_32 CFGCHIP0_EDMA31TC0DBS(0x1) | ||
| 96 | #define CFGCHIP0_EDMA31TC0DBS_64 CFGCHIP0_EDMA31TC0DBS(0x2) | ||
| 97 | #define CFGCHIP1_TBCLKSYNC BIT(12) | ||
| 98 | #define CFGCHIP1_AMUTESEL0(n) ((n) << 0) | ||
| 99 | #define CFGCHIP1_AMUTESEL0_MASK CFGCHIP1_AMUTESEL0(0xf) | ||
| 100 | #define CFGCHIP1_AMUTESEL0_LOW CFGCHIP1_AMUTESEL0(0x0) | ||
| 101 | #define CFGCHIP1_AMUTESEL0_BANK_0 CFGCHIP1_AMUTESEL0(0x1) | ||
| 102 | #define CFGCHIP1_AMUTESEL0_BANK_1 CFGCHIP1_AMUTESEL0(0x2) | ||
| 103 | #define CFGCHIP1_AMUTESEL0_BANK_2 CFGCHIP1_AMUTESEL0(0x3) | ||
| 104 | #define CFGCHIP1_AMUTESEL0_BANK_3 CFGCHIP1_AMUTESEL0(0x4) | ||
| 105 | #define CFGCHIP1_AMUTESEL0_BANK_4 CFGCHIP1_AMUTESEL0(0x5) | ||
| 106 | #define CFGCHIP1_AMUTESEL0_BANK_5 CFGCHIP1_AMUTESEL0(0x6) | ||
| 107 | #define CFGCHIP1_AMUTESEL0_BANK_6 CFGCHIP1_AMUTESEL0(0x7) | ||
| 108 | #define CFGCHIP1_AMUTESEL0_BANK_7 CFGCHIP1_AMUTESEL0(0x8) | ||
| 109 | |||
| 110 | /* CFGCHIP2 (USB PHY) register bits */ | ||
| 111 | #define CFGCHIP2_PHYCLKGD BIT(17) | ||
| 112 | #define CFGCHIP2_VBUSSENSE BIT(16) | ||
| 113 | #define CFGCHIP2_RESET BIT(15) | ||
| 114 | #define CFGCHIP2_OTGMODE(n) ((n) << 13) | ||
| 115 | #define CFGCHIP2_OTGMODE_MASK CFGCHIP2_OTGMODE(0x3) | ||
| 116 | #define CFGCHIP2_OTGMODE_NO_OVERRIDE CFGCHIP2_OTGMODE(0x0) | ||
| 117 | #define CFGCHIP2_OTGMODE_FORCE_HOST CFGCHIP2_OTGMODE(0x1) | ||
| 118 | #define CFGCHIP2_OTGMODE_FORCE_DEVICE CFGCHIP2_OTGMODE(0x2) | ||
| 119 | #define CFGCHIP2_OTGMODE_FORCE_HOST_VBUS_LOW CFGCHIP2_OTGMODE(0x3) | ||
| 120 | #define CFGCHIP2_USB1PHYCLKMUX BIT(12) | ||
| 121 | #define CFGCHIP2_USB2PHYCLKMUX BIT(11) | ||
| 122 | #define CFGCHIP2_PHYPWRDN BIT(10) | ||
| 123 | #define CFGCHIP2_OTGPWRDN BIT(9) | ||
| 124 | #define CFGCHIP2_DATPOL BIT(8) | ||
| 125 | #define CFGCHIP2_USB1SUSPENDM BIT(7) | ||
| 126 | #define CFGCHIP2_PHY_PLLON BIT(6) | ||
| 127 | #define CFGCHIP2_SESENDEN BIT(5) | ||
| 128 | #define CFGCHIP2_VBDTCTEN BIT(4) | ||
| 129 | #define CFGCHIP2_REFFREQ(n) ((n) << 0) | ||
| 130 | #define CFGCHIP2_REFFREQ_MASK CFGCHIP2_REFFREQ(0xf) | ||
| 131 | #define CFGCHIP2_REFFREQ_12MHZ CFGCHIP2_REFFREQ(0x1) | ||
| 132 | #define CFGCHIP2_REFFREQ_24MHZ CFGCHIP2_REFFREQ(0x2) | ||
| 133 | #define CFGCHIP2_REFFREQ_48MHZ CFGCHIP2_REFFREQ(0x3) | ||
| 134 | #define CFGCHIP2_REFFREQ_19_2MHZ CFGCHIP2_REFFREQ(0x4) | ||
| 135 | #define CFGCHIP2_REFFREQ_38_4MHZ CFGCHIP2_REFFREQ(0x5) | ||
| 136 | #define CFGCHIP2_REFFREQ_13MHZ CFGCHIP2_REFFREQ(0x6) | ||
| 137 | #define CFGCHIP2_REFFREQ_26MHZ CFGCHIP2_REFFREQ(0x7) | ||
| 138 | #define CFGCHIP2_REFFREQ_20MHZ CFGCHIP2_REFFREQ(0x8) | ||
| 139 | #define CFGCHIP2_REFFREQ_40MHZ CFGCHIP2_REFFREQ(0x9) | ||
| 140 | |||
| 141 | /* CFGCHIP3 (EMAC/uPP/PLL1/ASYNC3/PRU/DIV4.5/EMIFA) register bits */ | ||
| 142 | #define CFGCHIP3_RMII_SEL BIT(8) | ||
| 143 | #define CFGCHIP3_UPP_TX_CLKSRC BIT(6) | ||
| 144 | #define CFGCHIP3_PLL1_MASTER_LOCK BIT(5) | ||
| 145 | #define CFGCHIP3_ASYNC3_CLKSRC BIT(4) | ||
| 146 | #define CFGCHIP3_PRUEVTSEL BIT(3) | ||
| 147 | #define CFGCHIP3_DIV45PENA BIT(2) | ||
| 148 | #define CFGCHIP3_EMA_CLKSRC BIT(1) | ||
| 149 | |||
| 150 | /* CFGCHIP4 (McASP0 AMUNTEIN) register bits */ | ||
| 151 | #define CFGCHIP4_AMUTECLR0 BIT(0) | ||
| 152 | |||
| 153 | #endif /* __LINUX_MFD_DA8XX_CFGCHIP_H */ | ||
diff --git a/include/linux/mfd/ti_am335x_tscadc.h b/include/linux/mfd/ti_am335x_tscadc.h index 2567a87872b0..7f55b8b41032 100644 --- a/include/linux/mfd/ti_am335x_tscadc.h +++ b/include/linux/mfd/ti_am335x_tscadc.h | |||
| @@ -138,16 +138,16 @@ | |||
| 138 | /* | 138 | /* |
| 139 | * time in us for processing a single channel, calculated as follows: | 139 | * time in us for processing a single channel, calculated as follows: |
| 140 | * | 140 | * |
| 141 | * num cycles = open delay + (sample delay + conv time) * averaging | 141 | * max num cycles = open delay + (sample delay + conv time) * averaging |
| 142 | * | 142 | * |
| 143 | * num cycles: 152 + (1 + 13) * 16 = 376 | 143 | * max num cycles: 262143 + (255 + 13) * 16 = 266431 |
| 144 | * | 144 | * |
| 145 | * clock frequency: 26MHz / 8 = 3.25MHz | 145 | * clock frequency: 26MHz / 8 = 3.25MHz |
| 146 | * clock period: 1 / 3.25MHz = 308ns | 146 | * clock period: 1 / 3.25MHz = 308ns |
| 147 | * | 147 | * |
| 148 | * processing time: 376 * 308ns = 116us | 148 | * max processing time: 266431 * 308ns = 83ms(approx) |
| 149 | */ | 149 | */ |
| 150 | #define IDLE_TIMEOUT 116 /* microsec */ | 150 | #define IDLE_TIMEOUT 83 /* milliseconds */ |
| 151 | 151 | ||
| 152 | #define TSCADC_CELLS 2 | 152 | #define TSCADC_CELLS 2 |
| 153 | 153 | ||
diff --git a/include/linux/mm.h b/include/linux/mm.h index 08ed53eeedd5..ef815b9cd426 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h | |||
| @@ -2014,6 +2014,7 @@ extern void mm_drop_all_locks(struct mm_struct *mm); | |||
| 2014 | 2014 | ||
| 2015 | extern void set_mm_exe_file(struct mm_struct *mm, struct file *new_exe_file); | 2015 | extern void set_mm_exe_file(struct mm_struct *mm, struct file *new_exe_file); |
| 2016 | extern struct file *get_mm_exe_file(struct mm_struct *mm); | 2016 | extern struct file *get_mm_exe_file(struct mm_struct *mm); |
| 2017 | extern struct file *get_task_exe_file(struct task_struct *task); | ||
| 2017 | 2018 | ||
| 2018 | extern bool may_expand_vm(struct mm_struct *, vm_flags_t, unsigned long npages); | 2019 | extern bool may_expand_vm(struct mm_struct *, vm_flags_t, unsigned long npages); |
| 2019 | extern void vm_stat_account(struct mm_struct *, vm_flags_t, long npages); | 2020 | extern void vm_stat_account(struct mm_struct *, vm_flags_t, long npages); |
diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h index d572b78b65e1..7f2ae99e5daf 100644 --- a/include/linux/mmzone.h +++ b/include/linux/mmzone.h | |||
| @@ -828,9 +828,21 @@ unsigned long __init node_memmap_size_bytes(int, unsigned long, unsigned long); | |||
| 828 | */ | 828 | */ |
| 829 | #define zone_idx(zone) ((zone) - (zone)->zone_pgdat->node_zones) | 829 | #define zone_idx(zone) ((zone) - (zone)->zone_pgdat->node_zones) |
| 830 | 830 | ||
| 831 | static inline int populated_zone(struct zone *zone) | 831 | /* |
| 832 | * Returns true if a zone has pages managed by the buddy allocator. | ||
| 833 | * All the reclaim decisions have to use this function rather than | ||
| 834 | * populated_zone(). If the whole zone is reserved then we can easily | ||
| 835 | * end up with populated_zone() && !managed_zone(). | ||
| 836 | */ | ||
| 837 | static inline bool managed_zone(struct zone *zone) | ||
| 838 | { | ||
| 839 | return zone->managed_pages; | ||
| 840 | } | ||
| 841 | |||
| 842 | /* Returns true if a zone has memory */ | ||
| 843 | static inline bool populated_zone(struct zone *zone) | ||
| 832 | { | 844 | { |
| 833 | return (!!zone->present_pages); | 845 | return zone->present_pages; |
| 834 | } | 846 | } |
| 835 | 847 | ||
| 836 | extern int movable_zone; | 848 | extern int movable_zone; |
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index 076df5360ba5..3a788bf0affd 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h | |||
| @@ -3891,8 +3891,7 @@ void netdev_default_l2upper_neigh_destroy(struct net_device *dev, | |||
| 3891 | extern u8 netdev_rss_key[NETDEV_RSS_KEY_LEN] __read_mostly; | 3891 | extern u8 netdev_rss_key[NETDEV_RSS_KEY_LEN] __read_mostly; |
| 3892 | void netdev_rss_key_fill(void *buffer, size_t len); | 3892 | void netdev_rss_key_fill(void *buffer, size_t len); |
| 3893 | 3893 | ||
| 3894 | int dev_get_nest_level(struct net_device *dev, | 3894 | int dev_get_nest_level(struct net_device *dev); |
| 3895 | bool (*type_check)(const struct net_device *dev)); | ||
| 3896 | int skb_checksum_help(struct sk_buff *skb); | 3895 | int skb_checksum_help(struct sk_buff *skb); |
| 3897 | struct sk_buff *__skb_gso_segment(struct sk_buff *skb, | 3896 | struct sk_buff *__skb_gso_segment(struct sk_buff *skb, |
| 3898 | netdev_features_t features, bool tx_path); | 3897 | netdev_features_t features, bool tx_path); |
diff --git a/include/linux/netfilter/nfnetlink_acct.h b/include/linux/netfilter/nfnetlink_acct.h index 80ca889b164e..664da0048625 100644 --- a/include/linux/netfilter/nfnetlink_acct.h +++ b/include/linux/netfilter/nfnetlink_acct.h | |||
| @@ -15,6 +15,6 @@ struct nf_acct; | |||
| 15 | struct nf_acct *nfnl_acct_find_get(struct net *net, const char *filter_name); | 15 | struct nf_acct *nfnl_acct_find_get(struct net *net, const char *filter_name); |
| 16 | void nfnl_acct_put(struct nf_acct *acct); | 16 | void nfnl_acct_put(struct nf_acct *acct); |
| 17 | void nfnl_acct_update(const struct sk_buff *skb, struct nf_acct *nfacct); | 17 | void nfnl_acct_update(const struct sk_buff *skb, struct nf_acct *nfacct); |
| 18 | extern int nfnl_acct_overquota(const struct sk_buff *skb, | 18 | int nfnl_acct_overquota(struct net *net, const struct sk_buff *skb, |
| 19 | struct nf_acct *nfacct); | 19 | struct nf_acct *nfacct); |
| 20 | #endif /* _NFNL_ACCT_H */ | 20 | #endif /* _NFNL_ACCT_H */ |
diff --git a/include/linux/nvme.h b/include/linux/nvme.h index d8b37bab2887..7676557ce357 100644 --- a/include/linux/nvme.h +++ b/include/linux/nvme.h | |||
| @@ -794,7 +794,7 @@ struct nvmf_connect_command { | |||
| 794 | }; | 794 | }; |
| 795 | 795 | ||
| 796 | struct nvmf_connect_data { | 796 | struct nvmf_connect_data { |
| 797 | uuid_le hostid; | 797 | uuid_be hostid; |
| 798 | __le16 cntlid; | 798 | __le16 cntlid; |
| 799 | char resv4[238]; | 799 | char resv4[238]; |
| 800 | char subsysnqn[NVMF_NQN_FIELD_LEN]; | 800 | char subsysnqn[NVMF_NQN_FIELD_LEN]; |
diff --git a/include/linux/pci.h b/include/linux/pci.h index 2599a980340f..0ab835965669 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h | |||
| @@ -683,15 +683,6 @@ struct pci_driver { | |||
| 683 | #define to_pci_driver(drv) container_of(drv, struct pci_driver, driver) | 683 | #define to_pci_driver(drv) container_of(drv, struct pci_driver, driver) |
| 684 | 684 | ||
| 685 | /** | 685 | /** |
| 686 | * DEFINE_PCI_DEVICE_TABLE - macro used to describe a pci device table | ||
| 687 | * @_table: device table name | ||
| 688 | * | ||
| 689 | * This macro is deprecated and should not be used in new code. | ||
| 690 | */ | ||
| 691 | #define DEFINE_PCI_DEVICE_TABLE(_table) \ | ||
| 692 | const struct pci_device_id _table[] | ||
| 693 | |||
| 694 | /** | ||
| 695 | * PCI_DEVICE - macro used to describe a specific pci device | 686 | * PCI_DEVICE - macro used to describe a specific pci device |
| 696 | * @vend: the 16 bit PCI Vendor ID | 687 | * @vend: the 16 bit PCI Vendor ID |
| 697 | * @dev: the 16 bit PCI Device ID | 688 | * @dev: the 16 bit PCI Device ID |
| @@ -1251,10 +1242,12 @@ resource_size_t pcibios_iov_resource_alignment(struct pci_dev *dev, int resno); | |||
| 1251 | int pci_set_vga_state(struct pci_dev *pdev, bool decode, | 1242 | int pci_set_vga_state(struct pci_dev *pdev, bool decode, |
| 1252 | unsigned int command_bits, u32 flags); | 1243 | unsigned int command_bits, u32 flags); |
| 1253 | 1244 | ||
| 1254 | #define PCI_IRQ_NOLEGACY (1 << 0) /* don't use legacy interrupts */ | 1245 | #define PCI_IRQ_LEGACY (1 << 0) /* allow legacy interrupts */ |
| 1255 | #define PCI_IRQ_NOMSI (1 << 1) /* don't use MSI interrupts */ | 1246 | #define PCI_IRQ_MSI (1 << 1) /* allow MSI interrupts */ |
| 1256 | #define PCI_IRQ_NOMSIX (1 << 2) /* don't use MSI-X interrupts */ | 1247 | #define PCI_IRQ_MSIX (1 << 2) /* allow MSI-X interrupts */ |
| 1257 | #define PCI_IRQ_NOAFFINITY (1 << 3) /* don't auto-assign affinity */ | 1248 | #define PCI_IRQ_AFFINITY (1 << 3) /* auto-assign affinity */ |
| 1249 | #define PCI_IRQ_ALL_TYPES \ | ||
| 1250 | (PCI_IRQ_LEGACY | PCI_IRQ_MSI | PCI_IRQ_MSIX) | ||
| 1258 | 1251 | ||
| 1259 | /* kmem_cache style wrapper around pci_alloc_consistent() */ | 1252 | /* kmem_cache style wrapper around pci_alloc_consistent() */ |
| 1260 | 1253 | ||
diff --git a/include/linux/qed/qed_if.h b/include/linux/qed/qed_if.h index b1e3c57c7117..d6c4177df7cb 100644 --- a/include/linux/qed/qed_if.h +++ b/include/linux/qed/qed_if.h | |||
| @@ -70,8 +70,16 @@ struct qed_dbcx_pfc_params { | |||
| 70 | u8 max_tc; | 70 | u8 max_tc; |
| 71 | }; | 71 | }; |
| 72 | 72 | ||
| 73 | enum qed_dcbx_sf_ieee_type { | ||
| 74 | QED_DCBX_SF_IEEE_ETHTYPE, | ||
| 75 | QED_DCBX_SF_IEEE_TCP_PORT, | ||
| 76 | QED_DCBX_SF_IEEE_UDP_PORT, | ||
| 77 | QED_DCBX_SF_IEEE_TCP_UDP_PORT | ||
| 78 | }; | ||
| 79 | |||
| 73 | struct qed_app_entry { | 80 | struct qed_app_entry { |
| 74 | bool ethtype; | 81 | bool ethtype; |
| 82 | enum qed_dcbx_sf_ieee_type sf_ieee; | ||
| 75 | bool enabled; | 83 | bool enabled; |
| 76 | u8 prio; | 84 | u8 prio; |
| 77 | u16 proto_id; | 85 | u16 proto_id; |
diff --git a/include/linux/sctp.h b/include/linux/sctp.h index de1f64318fc4..fcb4c3646173 100644 --- a/include/linux/sctp.h +++ b/include/linux/sctp.h | |||
| @@ -705,70 +705,6 @@ typedef struct sctp_auth_chunk { | |||
| 705 | sctp_authhdr_t auth_hdr; | 705 | sctp_authhdr_t auth_hdr; |
| 706 | } __packed sctp_auth_chunk_t; | 706 | } __packed sctp_auth_chunk_t; |
| 707 | 707 | ||
| 708 | struct sctp_info { | ||
| 709 | __u32 sctpi_tag; | ||
| 710 | __u32 sctpi_state; | ||
| 711 | __u32 sctpi_rwnd; | ||
| 712 | __u16 sctpi_unackdata; | ||
| 713 | __u16 sctpi_penddata; | ||
| 714 | __u16 sctpi_instrms; | ||
| 715 | __u16 sctpi_outstrms; | ||
| 716 | __u32 sctpi_fragmentation_point; | ||
| 717 | __u32 sctpi_inqueue; | ||
| 718 | __u32 sctpi_outqueue; | ||
| 719 | __u32 sctpi_overall_error; | ||
| 720 | __u32 sctpi_max_burst; | ||
| 721 | __u32 sctpi_maxseg; | ||
| 722 | __u32 sctpi_peer_rwnd; | ||
| 723 | __u32 sctpi_peer_tag; | ||
| 724 | __u8 sctpi_peer_capable; | ||
| 725 | __u8 sctpi_peer_sack; | ||
| 726 | __u16 __reserved1; | ||
| 727 | |||
| 728 | /* assoc status info */ | ||
| 729 | __u64 sctpi_isacks; | ||
| 730 | __u64 sctpi_osacks; | ||
| 731 | __u64 sctpi_opackets; | ||
| 732 | __u64 sctpi_ipackets; | ||
| 733 | __u64 sctpi_rtxchunks; | ||
| 734 | __u64 sctpi_outofseqtsns; | ||
| 735 | __u64 sctpi_idupchunks; | ||
| 736 | __u64 sctpi_gapcnt; | ||
| 737 | __u64 sctpi_ouodchunks; | ||
| 738 | __u64 sctpi_iuodchunks; | ||
| 739 | __u64 sctpi_oodchunks; | ||
| 740 | __u64 sctpi_iodchunks; | ||
| 741 | __u64 sctpi_octrlchunks; | ||
| 742 | __u64 sctpi_ictrlchunks; | ||
| 743 | |||
| 744 | /* primary transport info */ | ||
| 745 | struct sockaddr_storage sctpi_p_address; | ||
| 746 | __s32 sctpi_p_state; | ||
| 747 | __u32 sctpi_p_cwnd; | ||
| 748 | __u32 sctpi_p_srtt; | ||
| 749 | __u32 sctpi_p_rto; | ||
| 750 | __u32 sctpi_p_hbinterval; | ||
| 751 | __u32 sctpi_p_pathmaxrxt; | ||
| 752 | __u32 sctpi_p_sackdelay; | ||
| 753 | __u32 sctpi_p_sackfreq; | ||
| 754 | __u32 sctpi_p_ssthresh; | ||
| 755 | __u32 sctpi_p_partial_bytes_acked; | ||
| 756 | __u32 sctpi_p_flight_size; | ||
| 757 | __u16 sctpi_p_error; | ||
| 758 | __u16 __reserved2; | ||
| 759 | |||
| 760 | /* sctp sock info */ | ||
| 761 | __u32 sctpi_s_autoclose; | ||
| 762 | __u32 sctpi_s_adaptation_ind; | ||
| 763 | __u32 sctpi_s_pd_point; | ||
| 764 | __u8 sctpi_s_nodelay; | ||
| 765 | __u8 sctpi_s_disable_fragments; | ||
| 766 | __u8 sctpi_s_v4mapped; | ||
| 767 | __u8 sctpi_s_frag_interleave; | ||
| 768 | __u32 sctpi_s_type; | ||
| 769 | __u32 __reserved3; | ||
| 770 | }; | ||
| 771 | |||
| 772 | struct sctp_infox { | 708 | struct sctp_infox { |
| 773 | struct sctp_info *sctpinfo; | 709 | struct sctp_info *sctpinfo; |
| 774 | struct sctp_association *asoc; | 710 | struct sctp_association *asoc; |
diff --git a/include/linux/serial_8250.h b/include/linux/serial_8250.h index 923266cd294a..48ec7651989b 100644 --- a/include/linux/serial_8250.h +++ b/include/linux/serial_8250.h | |||
| @@ -111,7 +111,6 @@ struct uart_8250_port { | |||
| 111 | * if no_console_suspend | 111 | * if no_console_suspend |
| 112 | */ | 112 | */ |
| 113 | unsigned char probe; | 113 | unsigned char probe; |
| 114 | struct mctrl_gpios *gpios; | ||
| 115 | #define UART_PROBE_RSA (1 << 0) | 114 | #define UART_PROBE_RSA (1 << 0) |
| 116 | 115 | ||
| 117 | /* | 116 | /* |
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index 6f0b3e0adc73..0f665cb26b50 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h | |||
| @@ -2847,6 +2847,18 @@ static inline int skb_linearize_cow(struct sk_buff *skb) | |||
| 2847 | __skb_linearize(skb) : 0; | 2847 | __skb_linearize(skb) : 0; |
| 2848 | } | 2848 | } |
| 2849 | 2849 | ||
| 2850 | static __always_inline void | ||
| 2851 | __skb_postpull_rcsum(struct sk_buff *skb, const void *start, unsigned int len, | ||
| 2852 | unsigned int off) | ||
| 2853 | { | ||
| 2854 | if (skb->ip_summed == CHECKSUM_COMPLETE) | ||
| 2855 | skb->csum = csum_block_sub(skb->csum, | ||
| 2856 | csum_partial(start, len, 0), off); | ||
| 2857 | else if (skb->ip_summed == CHECKSUM_PARTIAL && | ||
| 2858 | skb_checksum_start_offset(skb) < 0) | ||
| 2859 | skb->ip_summed = CHECKSUM_NONE; | ||
| 2860 | } | ||
| 2861 | |||
| 2850 | /** | 2862 | /** |
| 2851 | * skb_postpull_rcsum - update checksum for received skb after pull | 2863 | * skb_postpull_rcsum - update checksum for received skb after pull |
| 2852 | * @skb: buffer to update | 2864 | * @skb: buffer to update |
| @@ -2857,36 +2869,38 @@ static inline int skb_linearize_cow(struct sk_buff *skb) | |||
| 2857 | * update the CHECKSUM_COMPLETE checksum, or set ip_summed to | 2869 | * update the CHECKSUM_COMPLETE checksum, or set ip_summed to |
| 2858 | * CHECKSUM_NONE so that it can be recomputed from scratch. | 2870 | * CHECKSUM_NONE so that it can be recomputed from scratch. |
| 2859 | */ | 2871 | */ |
| 2860 | |||
| 2861 | static inline void skb_postpull_rcsum(struct sk_buff *skb, | 2872 | static inline void skb_postpull_rcsum(struct sk_buff *skb, |
| 2862 | const void *start, unsigned int len) | 2873 | const void *start, unsigned int len) |
| 2863 | { | 2874 | { |
| 2864 | if (skb->ip_summed == CHECKSUM_COMPLETE) | 2875 | __skb_postpull_rcsum(skb, start, len, 0); |
| 2865 | skb->csum = csum_sub(skb->csum, csum_partial(start, len, 0)); | ||
| 2866 | else if (skb->ip_summed == CHECKSUM_PARTIAL && | ||
| 2867 | skb_checksum_start_offset(skb) < 0) | ||
| 2868 | skb->ip_summed = CHECKSUM_NONE; | ||
| 2869 | } | 2876 | } |
| 2870 | 2877 | ||
| 2871 | unsigned char *skb_pull_rcsum(struct sk_buff *skb, unsigned int len); | 2878 | static __always_inline void |
| 2879 | __skb_postpush_rcsum(struct sk_buff *skb, const void *start, unsigned int len, | ||
| 2880 | unsigned int off) | ||
| 2881 | { | ||
| 2882 | if (skb->ip_summed == CHECKSUM_COMPLETE) | ||
| 2883 | skb->csum = csum_block_add(skb->csum, | ||
| 2884 | csum_partial(start, len, 0), off); | ||
| 2885 | } | ||
| 2872 | 2886 | ||
| 2887 | /** | ||
| 2888 | * skb_postpush_rcsum - update checksum for received skb after push | ||
| 2889 | * @skb: buffer to update | ||
| 2890 | * @start: start of data after push | ||
| 2891 | * @len: length of data pushed | ||
| 2892 | * | ||
| 2893 | * After doing a push on a received packet, you need to call this to | ||
| 2894 | * update the CHECKSUM_COMPLETE checksum. | ||
| 2895 | */ | ||
| 2873 | static inline void skb_postpush_rcsum(struct sk_buff *skb, | 2896 | static inline void skb_postpush_rcsum(struct sk_buff *skb, |
| 2874 | const void *start, unsigned int len) | 2897 | const void *start, unsigned int len) |
| 2875 | { | 2898 | { |
| 2876 | /* For performing the reverse operation to skb_postpull_rcsum(), | 2899 | __skb_postpush_rcsum(skb, start, len, 0); |
| 2877 | * we can instead of ... | ||
| 2878 | * | ||
| 2879 | * skb->csum = csum_add(skb->csum, csum_partial(start, len, 0)); | ||
| 2880 | * | ||
| 2881 | * ... just use this equivalent version here to save a few | ||
| 2882 | * instructions. Feeding csum of 0 in csum_partial() and later | ||
| 2883 | * on adding skb->csum is equivalent to feed skb->csum in the | ||
| 2884 | * first place. | ||
| 2885 | */ | ||
| 2886 | if (skb->ip_summed == CHECKSUM_COMPLETE) | ||
| 2887 | skb->csum = csum_partial(start, len, skb->csum); | ||
| 2888 | } | 2900 | } |
| 2889 | 2901 | ||
| 2902 | unsigned char *skb_pull_rcsum(struct sk_buff *skb, unsigned int len); | ||
| 2903 | |||
| 2890 | /** | 2904 | /** |
| 2891 | * skb_push_rcsum - push skb and update receive checksum | 2905 | * skb_push_rcsum - push skb and update receive checksum |
| 2892 | * @skb: buffer to update | 2906 | * @skb: buffer to update |
diff --git a/include/linux/smc91x.h b/include/linux/smc91x.h index 76199b75d584..e302c447e057 100644 --- a/include/linux/smc91x.h +++ b/include/linux/smc91x.h | |||
| @@ -1,6 +1,16 @@ | |||
| 1 | #ifndef __SMC91X_H__ | 1 | #ifndef __SMC91X_H__ |
| 2 | #define __SMC91X_H__ | 2 | #define __SMC91X_H__ |
| 3 | 3 | ||
| 4 | /* | ||
| 5 | * These bits define which access sizes a platform can support, rather | ||
| 6 | * than the maximal access size. So, if your platform can do 16-bit | ||
| 7 | * and 32-bit accesses to the SMC91x device, but not 8-bit, set both | ||
| 8 | * SMC91X_USE_16BIT and SMC91X_USE_32BIT. | ||
| 9 | * | ||
| 10 | * The SMC91x driver requires at least one of SMC91X_USE_8BIT or | ||
| 11 | * SMC91X_USE_16BIT to be supported - just setting SMC91X_USE_32BIT is | ||
| 12 | * an invalid configuration. | ||
| 13 | */ | ||
| 4 | #define SMC91X_USE_8BIT (1 << 0) | 14 | #define SMC91X_USE_8BIT (1 << 0) |
| 5 | #define SMC91X_USE_16BIT (1 << 1) | 15 | #define SMC91X_USE_16BIT (1 << 1) |
| 6 | #define SMC91X_USE_32BIT (1 << 2) | 16 | #define SMC91X_USE_32BIT (1 << 2) |
diff --git a/include/linux/sysctl.h b/include/linux/sysctl.h index 697e160c78d0..a4f7203a9017 100644 --- a/include/linux/sysctl.h +++ b/include/linux/sysctl.h | |||
| @@ -42,6 +42,8 @@ extern int proc_dostring(struct ctl_table *, int, | |||
| 42 | void __user *, size_t *, loff_t *); | 42 | void __user *, size_t *, loff_t *); |
| 43 | extern int proc_dointvec(struct ctl_table *, int, | 43 | extern int proc_dointvec(struct ctl_table *, int, |
| 44 | void __user *, size_t *, loff_t *); | 44 | void __user *, size_t *, loff_t *); |
| 45 | extern int proc_douintvec(struct ctl_table *, int, | ||
| 46 | void __user *, size_t *, loff_t *); | ||
| 45 | extern int proc_dointvec_minmax(struct ctl_table *, int, | 47 | extern int proc_dointvec_minmax(struct ctl_table *, int, |
| 46 | void __user *, size_t *, loff_t *); | 48 | void __user *, size_t *, loff_t *); |
| 47 | extern int proc_dointvec_jiffies(struct ctl_table *, int, | 49 | extern int proc_dointvec_jiffies(struct ctl_table *, int, |
diff --git a/include/net/act_api.h b/include/net/act_api.h index 41e6a24a44b9..82f3c912a5b1 100644 --- a/include/net/act_api.h +++ b/include/net/act_api.h | |||
| @@ -176,8 +176,8 @@ int tcf_register_action(struct tc_action_ops *a, struct pernet_operations *ops); | |||
| 176 | int tcf_unregister_action(struct tc_action_ops *a, | 176 | int tcf_unregister_action(struct tc_action_ops *a, |
| 177 | struct pernet_operations *ops); | 177 | struct pernet_operations *ops); |
| 178 | int tcf_action_destroy(struct list_head *actions, int bind); | 178 | int tcf_action_destroy(struct list_head *actions, int bind); |
| 179 | int tcf_action_exec(struct sk_buff *skb, const struct list_head *actions, | 179 | int tcf_action_exec(struct sk_buff *skb, struct tc_action **actions, |
| 180 | struct tcf_result *res); | 180 | int nr_actions, struct tcf_result *res); |
| 181 | int tcf_action_init(struct net *net, struct nlattr *nla, | 181 | int tcf_action_init(struct net *net, struct nlattr *nla, |
| 182 | struct nlattr *est, char *n, int ovr, | 182 | struct nlattr *est, char *n, int ovr, |
| 183 | int bind, struct list_head *); | 183 | int bind, struct list_head *); |
| @@ -189,30 +189,17 @@ int tcf_action_dump_old(struct sk_buff *skb, struct tc_action *a, int, int); | |||
| 189 | int tcf_action_dump_1(struct sk_buff *skb, struct tc_action *a, int, int); | 189 | int tcf_action_dump_1(struct sk_buff *skb, struct tc_action *a, int, int); |
| 190 | int tcf_action_copy_stats(struct sk_buff *, struct tc_action *, int); | 190 | int tcf_action_copy_stats(struct sk_buff *, struct tc_action *, int); |
| 191 | 191 | ||
| 192 | #define tc_no_actions(_exts) \ | 192 | #endif /* CONFIG_NET_CLS_ACT */ |
| 193 | (list_empty(&(_exts)->actions)) | ||
| 194 | |||
| 195 | #define tc_for_each_action(_a, _exts) \ | ||
| 196 | list_for_each_entry(a, &(_exts)->actions, list) | ||
| 197 | |||
| 198 | #define tc_single_action(_exts) \ | ||
| 199 | (list_is_singular(&(_exts)->actions)) | ||
| 200 | 193 | ||
| 201 | static inline void tcf_action_stats_update(struct tc_action *a, u64 bytes, | 194 | static inline void tcf_action_stats_update(struct tc_action *a, u64 bytes, |
| 202 | u64 packets, u64 lastuse) | 195 | u64 packets, u64 lastuse) |
| 203 | { | 196 | { |
| 197 | #ifdef CONFIG_NET_CLS_ACT | ||
| 204 | if (!a->ops->stats_update) | 198 | if (!a->ops->stats_update) |
| 205 | return; | 199 | return; |
| 206 | 200 | ||
| 207 | a->ops->stats_update(a, bytes, packets, lastuse); | 201 | a->ops->stats_update(a, bytes, packets, lastuse); |
| 202 | #endif | ||
| 208 | } | 203 | } |
| 209 | 204 | ||
| 210 | #else /* CONFIG_NET_CLS_ACT */ | ||
| 211 | |||
| 212 | #define tc_no_actions(_exts) true | ||
| 213 | #define tc_for_each_action(_a, _exts) while ((void)(_a), 0) | ||
| 214 | #define tc_single_action(_exts) false | ||
| 215 | #define tcf_action_stats_update(a, bytes, packets, lastuse) | ||
| 216 | |||
| 217 | #endif /* CONFIG_NET_CLS_ACT */ | ||
| 218 | #endif | 205 | #endif |
diff --git a/include/net/af_rxrpc.h b/include/net/af_rxrpc.h index ac1bc3c49fbd..7b0f88699b25 100644 --- a/include/net/af_rxrpc.h +++ b/include/net/af_rxrpc.h | |||
| @@ -40,12 +40,12 @@ struct rxrpc_call *rxrpc_kernel_begin_call(struct socket *, | |||
| 40 | unsigned long, | 40 | unsigned long, |
| 41 | gfp_t); | 41 | gfp_t); |
| 42 | int rxrpc_kernel_send_data(struct rxrpc_call *, struct msghdr *, size_t); | 42 | int rxrpc_kernel_send_data(struct rxrpc_call *, struct msghdr *, size_t); |
| 43 | void rxrpc_kernel_data_consumed(struct rxrpc_call *, struct sk_buff *); | ||
| 43 | void rxrpc_kernel_abort_call(struct rxrpc_call *, u32); | 44 | void rxrpc_kernel_abort_call(struct rxrpc_call *, u32); |
| 44 | void rxrpc_kernel_end_call(struct rxrpc_call *); | 45 | void rxrpc_kernel_end_call(struct rxrpc_call *); |
| 45 | bool rxrpc_kernel_is_data_last(struct sk_buff *); | 46 | bool rxrpc_kernel_is_data_last(struct sk_buff *); |
| 46 | u32 rxrpc_kernel_get_abort_code(struct sk_buff *); | 47 | u32 rxrpc_kernel_get_abort_code(struct sk_buff *); |
| 47 | int rxrpc_kernel_get_error_number(struct sk_buff *); | 48 | int rxrpc_kernel_get_error_number(struct sk_buff *); |
| 48 | void rxrpc_kernel_data_delivered(struct sk_buff *); | ||
| 49 | void rxrpc_kernel_free_skb(struct sk_buff *); | 49 | void rxrpc_kernel_free_skb(struct sk_buff *); |
| 50 | struct rxrpc_call *rxrpc_kernel_accept_call(struct socket *, unsigned long); | 50 | struct rxrpc_call *rxrpc_kernel_accept_call(struct socket *, unsigned long); |
| 51 | int rxrpc_kernel_reject_call(struct socket *); | 51 | int rxrpc_kernel_reject_call(struct socket *); |
diff --git a/include/net/gre.h b/include/net/gre.h index 7a54a31d1d4c..73ea256eb7d7 100644 --- a/include/net/gre.h +++ b/include/net/gre.h | |||
| @@ -104,6 +104,7 @@ static inline void gre_build_header(struct sk_buff *skb, int hdr_len, | |||
| 104 | 104 | ||
| 105 | skb_push(skb, hdr_len); | 105 | skb_push(skb, hdr_len); |
| 106 | 106 | ||
| 107 | skb_set_inner_protocol(skb, proto); | ||
| 107 | skb_reset_transport_header(skb); | 108 | skb_reset_transport_header(skb); |
| 108 | greh = (struct gre_base_hdr *)skb->data; | 109 | greh = (struct gre_base_hdr *)skb->data; |
| 109 | greh->flags = gre_tnl_flags_to_gre_flags(flags); | 110 | greh->flags = gre_tnl_flags_to_gre_flags(flags); |
diff --git a/include/net/inet_ecn.h b/include/net/inet_ecn.h index 0dc0a51da38f..dce2d586d9ce 100644 --- a/include/net/inet_ecn.h +++ b/include/net/inet_ecn.h | |||
| @@ -128,7 +128,8 @@ static inline int IP6_ECN_set_ce(struct sk_buff *skb, struct ipv6hdr *iph) | |||
| 128 | to = from | htonl(INET_ECN_CE << 20); | 128 | to = from | htonl(INET_ECN_CE << 20); |
| 129 | *(__be32 *)iph = to; | 129 | *(__be32 *)iph = to; |
| 130 | if (skb->ip_summed == CHECKSUM_COMPLETE) | 130 | if (skb->ip_summed == CHECKSUM_COMPLETE) |
| 131 | skb->csum = csum_add(csum_sub(skb->csum, from), to); | 131 | skb->csum = csum_add(csum_sub(skb->csum, (__force __wsum)from), |
| 132 | (__force __wsum)to); | ||
| 132 | return 1; | 133 | return 1; |
| 133 | } | 134 | } |
| 134 | 135 | ||
diff --git a/include/net/mac80211.h b/include/net/mac80211.h index b4faadbb4e01..cca510a585c3 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h | |||
| @@ -3620,7 +3620,8 @@ struct ieee80211_ops { | |||
| 3620 | 3620 | ||
| 3621 | int (*join_ibss)(struct ieee80211_hw *hw, struct ieee80211_vif *vif); | 3621 | int (*join_ibss)(struct ieee80211_hw *hw, struct ieee80211_vif *vif); |
| 3622 | void (*leave_ibss)(struct ieee80211_hw *hw, struct ieee80211_vif *vif); | 3622 | void (*leave_ibss)(struct ieee80211_hw *hw, struct ieee80211_vif *vif); |
| 3623 | u32 (*get_expected_throughput)(struct ieee80211_sta *sta); | 3623 | u32 (*get_expected_throughput)(struct ieee80211_hw *hw, |
| 3624 | struct ieee80211_sta *sta); | ||
| 3624 | int (*get_txpower)(struct ieee80211_hw *hw, struct ieee80211_vif *vif, | 3625 | int (*get_txpower)(struct ieee80211_hw *hw, struct ieee80211_vif *vif, |
| 3625 | int *dbm); | 3626 | int *dbm); |
| 3626 | 3627 | ||
diff --git a/include/net/pkt_cls.h b/include/net/pkt_cls.h index 6f8d65342d3a..c99508d426cc 100644 --- a/include/net/pkt_cls.h +++ b/include/net/pkt_cls.h | |||
| @@ -59,7 +59,8 @@ tcf_unbind_filter(struct tcf_proto *tp, struct tcf_result *r) | |||
| 59 | struct tcf_exts { | 59 | struct tcf_exts { |
| 60 | #ifdef CONFIG_NET_CLS_ACT | 60 | #ifdef CONFIG_NET_CLS_ACT |
| 61 | __u32 type; /* for backward compat(TCA_OLD_COMPAT) */ | 61 | __u32 type; /* for backward compat(TCA_OLD_COMPAT) */ |
| 62 | struct list_head actions; | 62 | int nr_actions; |
| 63 | struct tc_action **actions; | ||
| 63 | #endif | 64 | #endif |
| 64 | /* Map to export classifier specific extension TLV types to the | 65 | /* Map to export classifier specific extension TLV types to the |
| 65 | * generic extensions API. Unsupported extensions must be set to 0. | 66 | * generic extensions API. Unsupported extensions must be set to 0. |
| @@ -72,7 +73,10 @@ static inline void tcf_exts_init(struct tcf_exts *exts, int action, int police) | |||
| 72 | { | 73 | { |
| 73 | #ifdef CONFIG_NET_CLS_ACT | 74 | #ifdef CONFIG_NET_CLS_ACT |
| 74 | exts->type = 0; | 75 | exts->type = 0; |
| 75 | INIT_LIST_HEAD(&exts->actions); | 76 | exts->nr_actions = 0; |
| 77 | exts->actions = kcalloc(TCA_ACT_MAX_PRIO, sizeof(struct tc_action *), | ||
| 78 | GFP_KERNEL); | ||
| 79 | WARN_ON(!exts->actions); /* TODO: propagate the error to callers */ | ||
| 76 | #endif | 80 | #endif |
| 77 | exts->action = action; | 81 | exts->action = action; |
| 78 | exts->police = police; | 82 | exts->police = police; |
| @@ -89,7 +93,7 @@ static inline int | |||
| 89 | tcf_exts_is_predicative(struct tcf_exts *exts) | 93 | tcf_exts_is_predicative(struct tcf_exts *exts) |
| 90 | { | 94 | { |
| 91 | #ifdef CONFIG_NET_CLS_ACT | 95 | #ifdef CONFIG_NET_CLS_ACT |
| 92 | return !list_empty(&exts->actions); | 96 | return exts->nr_actions; |
| 93 | #else | 97 | #else |
| 94 | return 0; | 98 | return 0; |
| 95 | #endif | 99 | #endif |
| @@ -108,6 +112,20 @@ tcf_exts_is_available(struct tcf_exts *exts) | |||
| 108 | return tcf_exts_is_predicative(exts); | 112 | return tcf_exts_is_predicative(exts); |
| 109 | } | 113 | } |
| 110 | 114 | ||
| 115 | static inline void tcf_exts_to_list(const struct tcf_exts *exts, | ||
| 116 | struct list_head *actions) | ||
| 117 | { | ||
| 118 | #ifdef CONFIG_NET_CLS_ACT | ||
| 119 | int i; | ||
| 120 | |||
| 121 | for (i = 0; i < exts->nr_actions; i++) { | ||
| 122 | struct tc_action *a = exts->actions[i]; | ||
| 123 | |||
| 124 | list_add(&a->list, actions); | ||
| 125 | } | ||
| 126 | #endif | ||
| 127 | } | ||
| 128 | |||
| 111 | /** | 129 | /** |
| 112 | * tcf_exts_exec - execute tc filter extensions | 130 | * tcf_exts_exec - execute tc filter extensions |
| 113 | * @skb: socket buffer | 131 | * @skb: socket buffer |
| @@ -124,12 +142,25 @@ tcf_exts_exec(struct sk_buff *skb, struct tcf_exts *exts, | |||
| 124 | struct tcf_result *res) | 142 | struct tcf_result *res) |
| 125 | { | 143 | { |
| 126 | #ifdef CONFIG_NET_CLS_ACT | 144 | #ifdef CONFIG_NET_CLS_ACT |
| 127 | if (!list_empty(&exts->actions)) | 145 | if (exts->nr_actions) |
| 128 | return tcf_action_exec(skb, &exts->actions, res); | 146 | return tcf_action_exec(skb, exts->actions, exts->nr_actions, |
| 147 | res); | ||
| 129 | #endif | 148 | #endif |
| 130 | return 0; | 149 | return 0; |
| 131 | } | 150 | } |
| 132 | 151 | ||
| 152 | #ifdef CONFIG_NET_CLS_ACT | ||
| 153 | |||
| 154 | #define tc_no_actions(_exts) ((_exts)->nr_actions == 0) | ||
| 155 | #define tc_single_action(_exts) ((_exts)->nr_actions == 1) | ||
| 156 | |||
| 157 | #else /* CONFIG_NET_CLS_ACT */ | ||
| 158 | |||
| 159 | #define tc_no_actions(_exts) true | ||
| 160 | #define tc_single_action(_exts) false | ||
| 161 | |||
| 162 | #endif /* CONFIG_NET_CLS_ACT */ | ||
| 163 | |||
| 133 | int tcf_exts_validate(struct net *net, struct tcf_proto *tp, | 164 | int tcf_exts_validate(struct net *net, struct tcf_proto *tp, |
| 134 | struct nlattr **tb, struct nlattr *rate_tlv, | 165 | struct nlattr **tb, struct nlattr *rate_tlv, |
| 135 | struct tcf_exts *exts, bool ovr); | 166 | struct tcf_exts *exts, bool ovr); |
diff --git a/include/net/tcp.h b/include/net/tcp.h index c00e7d51bb18..7717302cab91 100644 --- a/include/net/tcp.h +++ b/include/net/tcp.h | |||
| @@ -1523,6 +1523,8 @@ static inline void tcp_check_send_head(struct sock *sk, struct sk_buff *skb_unli | |||
| 1523 | { | 1523 | { |
| 1524 | if (sk->sk_send_head == skb_unlinked) | 1524 | if (sk->sk_send_head == skb_unlinked) |
| 1525 | sk->sk_send_head = NULL; | 1525 | sk->sk_send_head = NULL; |
| 1526 | if (tcp_sk(sk)->highest_sack == skb_unlinked) | ||
| 1527 | tcp_sk(sk)->highest_sack = NULL; | ||
| 1526 | } | 1528 | } |
| 1527 | 1529 | ||
| 1528 | static inline void tcp_init_send_head(struct sock *sk) | 1530 | static inline void tcp_init_send_head(struct sock *sk) |
diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h index 8e90dd28bb75..e1f96737c2a1 100644 --- a/include/rdma/ib_verbs.h +++ b/include/rdma/ib_verbs.h | |||
| @@ -2115,22 +2115,17 @@ static inline bool ib_is_udata_cleared(struct ib_udata *udata, | |||
| 2115 | size_t len) | 2115 | size_t len) |
| 2116 | { | 2116 | { |
| 2117 | const void __user *p = udata->inbuf + offset; | 2117 | const void __user *p = udata->inbuf + offset; |
| 2118 | bool ret = false; | 2118 | bool ret; |
| 2119 | u8 *buf; | 2119 | u8 *buf; |
| 2120 | 2120 | ||
| 2121 | if (len > USHRT_MAX) | 2121 | if (len > USHRT_MAX) |
| 2122 | return false; | 2122 | return false; |
| 2123 | 2123 | ||
| 2124 | buf = kmalloc(len, GFP_KERNEL); | 2124 | buf = memdup_user(p, len); |
| 2125 | if (!buf) | 2125 | if (IS_ERR(buf)) |
| 2126 | return false; | 2126 | return false; |
| 2127 | 2127 | ||
| 2128 | if (copy_from_user(buf, p, len)) | ||
| 2129 | goto free; | ||
| 2130 | |||
| 2131 | ret = !memchr_inv(buf, 0, len); | 2128 | ret = !memchr_inv(buf, 0, len); |
| 2132 | |||
| 2133 | free: | ||
| 2134 | kfree(buf); | 2129 | kfree(buf); |
| 2135 | return ret; | 2130 | return ret; |
| 2136 | } | 2131 | } |
diff --git a/include/uapi/linux/atm_zatm.h b/include/uapi/linux/atm_zatm.h index 9c9c6ad55f14..5cd4d4d2dd1d 100644 --- a/include/uapi/linux/atm_zatm.h +++ b/include/uapi/linux/atm_zatm.h | |||
| @@ -14,6 +14,7 @@ | |||
| 14 | 14 | ||
| 15 | #include <linux/atmapi.h> | 15 | #include <linux/atmapi.h> |
| 16 | #include <linux/atmioc.h> | 16 | #include <linux/atmioc.h> |
| 17 | #include <linux/time.h> | ||
| 17 | 18 | ||
| 18 | #define ZATM_GETPOOL _IOW('a',ATMIOC_SARPRV+1,struct atmif_sioc) | 19 | #define ZATM_GETPOOL _IOW('a',ATMIOC_SARPRV+1,struct atmif_sioc) |
| 19 | /* get pool statistics */ | 20 | /* get pool statistics */ |
diff --git a/include/uapi/linux/bpf.h b/include/uapi/linux/bpf.h index da218fec6056..9e5fc168c8a3 100644 --- a/include/uapi/linux/bpf.h +++ b/include/uapi/linux/bpf.h | |||
| @@ -339,7 +339,7 @@ enum bpf_func_id { | |||
| 339 | BPF_FUNC_skb_change_type, | 339 | BPF_FUNC_skb_change_type, |
| 340 | 340 | ||
| 341 | /** | 341 | /** |
| 342 | * bpf_skb_in_cgroup(skb, map, index) - Check cgroup2 membership of skb | 342 | * bpf_skb_under_cgroup(skb, map, index) - Check cgroup2 membership of skb |
| 343 | * @skb: pointer to skb | 343 | * @skb: pointer to skb |
| 344 | * @map: pointer to bpf_map in BPF_MAP_TYPE_CGROUP_ARRAY type | 344 | * @map: pointer to bpf_map in BPF_MAP_TYPE_CGROUP_ARRAY type |
| 345 | * @index: index of the cgroup in the bpf_map | 345 | * @index: index of the cgroup in the bpf_map |
| @@ -348,7 +348,7 @@ enum bpf_func_id { | |||
| 348 | * == 1 skb succeeded the cgroup2 descendant test | 348 | * == 1 skb succeeded the cgroup2 descendant test |
| 349 | * < 0 error | 349 | * < 0 error |
| 350 | */ | 350 | */ |
| 351 | BPF_FUNC_skb_in_cgroup, | 351 | BPF_FUNC_skb_under_cgroup, |
| 352 | 352 | ||
| 353 | /** | 353 | /** |
| 354 | * bpf_get_hash_recalc(skb) | 354 | * bpf_get_hash_recalc(skb) |
diff --git a/include/uapi/linux/if_pppol2tp.h b/include/uapi/linux/if_pppol2tp.h index 163e8adac2d6..4bd1f55d6377 100644 --- a/include/uapi/linux/if_pppol2tp.h +++ b/include/uapi/linux/if_pppol2tp.h | |||
| @@ -16,7 +16,8 @@ | |||
| 16 | #define _UAPI__LINUX_IF_PPPOL2TP_H | 16 | #define _UAPI__LINUX_IF_PPPOL2TP_H |
| 17 | 17 | ||
| 18 | #include <linux/types.h> | 18 | #include <linux/types.h> |
| 19 | 19 | #include <linux/in.h> | |
| 20 | #include <linux/in6.h> | ||
| 20 | 21 | ||
| 21 | /* Structure used to connect() the socket to a particular tunnel UDP | 22 | /* Structure used to connect() the socket to a particular tunnel UDP |
| 22 | * socket over IPv4. | 23 | * socket over IPv4. |
diff --git a/include/uapi/linux/if_pppox.h b/include/uapi/linux/if_pppox.h index e128769331b5..d37bbb17a007 100644 --- a/include/uapi/linux/if_pppox.h +++ b/include/uapi/linux/if_pppox.h | |||
| @@ -21,8 +21,11 @@ | |||
| 21 | #include <asm/byteorder.h> | 21 | #include <asm/byteorder.h> |
| 22 | 22 | ||
| 23 | #include <linux/socket.h> | 23 | #include <linux/socket.h> |
| 24 | #include <linux/if.h> | ||
| 24 | #include <linux/if_ether.h> | 25 | #include <linux/if_ether.h> |
| 25 | #include <linux/if_pppol2tp.h> | 26 | #include <linux/if_pppol2tp.h> |
| 27 | #include <linux/in.h> | ||
| 28 | #include <linux/in6.h> | ||
| 26 | 29 | ||
| 27 | /* For user-space programs to pick up these definitions | 30 | /* For user-space programs to pick up these definitions |
| 28 | * which they wouldn't get otherwise without defining __KERNEL__ | 31 | * which they wouldn't get otherwise without defining __KERNEL__ |
diff --git a/include/uapi/linux/if_tunnel.h b/include/uapi/linux/if_tunnel.h index 1046f5515174..777b6cdb1b7b 100644 --- a/include/uapi/linux/if_tunnel.h +++ b/include/uapi/linux/if_tunnel.h | |||
| @@ -2,6 +2,9 @@ | |||
| 2 | #define _UAPI_IF_TUNNEL_H_ | 2 | #define _UAPI_IF_TUNNEL_H_ |
| 3 | 3 | ||
| 4 | #include <linux/types.h> | 4 | #include <linux/types.h> |
| 5 | #include <linux/if.h> | ||
| 6 | #include <linux/ip.h> | ||
| 7 | #include <linux/in6.h> | ||
| 5 | #include <asm/byteorder.h> | 8 | #include <asm/byteorder.h> |
| 6 | 9 | ||
| 7 | 10 | ||
diff --git a/include/uapi/linux/ipx.h b/include/uapi/linux/ipx.h index 3d48014cdd71..30f031db12f6 100644 --- a/include/uapi/linux/ipx.h +++ b/include/uapi/linux/ipx.h | |||
| @@ -1,11 +1,13 @@ | |||
| 1 | #ifndef _IPX_H_ | 1 | #ifndef _IPX_H_ |
| 2 | #define _IPX_H_ | 2 | #define _IPX_H_ |
| 3 | #include <linux/libc-compat.h> /* for compatibility with glibc netipx/ipx.h */ | ||
| 3 | #include <linux/types.h> | 4 | #include <linux/types.h> |
| 4 | #include <linux/sockios.h> | 5 | #include <linux/sockios.h> |
| 5 | #include <linux/socket.h> | 6 | #include <linux/socket.h> |
| 6 | #define IPX_NODE_LEN 6 | 7 | #define IPX_NODE_LEN 6 |
| 7 | #define IPX_MTU 576 | 8 | #define IPX_MTU 576 |
| 8 | 9 | ||
| 10 | #if __UAPI_DEF_SOCKADDR_IPX | ||
| 9 | struct sockaddr_ipx { | 11 | struct sockaddr_ipx { |
| 10 | __kernel_sa_family_t sipx_family; | 12 | __kernel_sa_family_t sipx_family; |
| 11 | __be16 sipx_port; | 13 | __be16 sipx_port; |
| @@ -14,6 +16,7 @@ struct sockaddr_ipx { | |||
| 14 | __u8 sipx_type; | 16 | __u8 sipx_type; |
| 15 | unsigned char sipx_zero; /* 16 byte fill */ | 17 | unsigned char sipx_zero; /* 16 byte fill */ |
| 16 | }; | 18 | }; |
| 19 | #endif /* __UAPI_DEF_SOCKADDR_IPX */ | ||
| 17 | 20 | ||
| 18 | /* | 21 | /* |
| 19 | * So we can fit the extra info for SIOCSIFADDR into the address nicely | 22 | * So we can fit the extra info for SIOCSIFADDR into the address nicely |
| @@ -23,12 +26,15 @@ struct sockaddr_ipx { | |||
| 23 | #define IPX_DLTITF 0 | 26 | #define IPX_DLTITF 0 |
| 24 | #define IPX_CRTITF 1 | 27 | #define IPX_CRTITF 1 |
| 25 | 28 | ||
| 29 | #if __UAPI_DEF_IPX_ROUTE_DEFINITION | ||
| 26 | struct ipx_route_definition { | 30 | struct ipx_route_definition { |
| 27 | __be32 ipx_network; | 31 | __be32 ipx_network; |
| 28 | __be32 ipx_router_network; | 32 | __be32 ipx_router_network; |
| 29 | unsigned char ipx_router_node[IPX_NODE_LEN]; | 33 | unsigned char ipx_router_node[IPX_NODE_LEN]; |
| 30 | }; | 34 | }; |
| 35 | #endif /* __UAPI_DEF_IPX_ROUTE_DEFINITION */ | ||
| 31 | 36 | ||
| 37 | #if __UAPI_DEF_IPX_INTERFACE_DEFINITION | ||
| 32 | struct ipx_interface_definition { | 38 | struct ipx_interface_definition { |
| 33 | __be32 ipx_network; | 39 | __be32 ipx_network; |
| 34 | unsigned char ipx_device[16]; | 40 | unsigned char ipx_device[16]; |
| @@ -45,16 +51,20 @@ struct ipx_interface_definition { | |||
| 45 | #define IPX_INTERNAL 2 | 51 | #define IPX_INTERNAL 2 |
| 46 | unsigned char ipx_node[IPX_NODE_LEN]; | 52 | unsigned char ipx_node[IPX_NODE_LEN]; |
| 47 | }; | 53 | }; |
| 48 | 54 | #endif /* __UAPI_DEF_IPX_INTERFACE_DEFINITION */ | |
| 55 | |||
| 56 | #if __UAPI_DEF_IPX_CONFIG_DATA | ||
| 49 | struct ipx_config_data { | 57 | struct ipx_config_data { |
| 50 | unsigned char ipxcfg_auto_select_primary; | 58 | unsigned char ipxcfg_auto_select_primary; |
| 51 | unsigned char ipxcfg_auto_create_interfaces; | 59 | unsigned char ipxcfg_auto_create_interfaces; |
| 52 | }; | 60 | }; |
| 61 | #endif /* __UAPI_DEF_IPX_CONFIG_DATA */ | ||
| 53 | 62 | ||
| 54 | /* | 63 | /* |
| 55 | * OLD Route Definition for backward compatibility. | 64 | * OLD Route Definition for backward compatibility. |
| 56 | */ | 65 | */ |
| 57 | 66 | ||
| 67 | #if __UAPI_DEF_IPX_ROUTE_DEF | ||
| 58 | struct ipx_route_def { | 68 | struct ipx_route_def { |
| 59 | __be32 ipx_network; | 69 | __be32 ipx_network; |
| 60 | __be32 ipx_router_network; | 70 | __be32 ipx_router_network; |
| @@ -67,6 +77,7 @@ struct ipx_route_def { | |||
| 67 | #define IPX_RT_BLUEBOOK 2 | 77 | #define IPX_RT_BLUEBOOK 2 |
| 68 | #define IPX_RT_ROUTED 1 | 78 | #define IPX_RT_ROUTED 1 |
| 69 | }; | 79 | }; |
| 80 | #endif /* __UAPI_DEF_IPX_ROUTE_DEF */ | ||
| 70 | 81 | ||
| 71 | #define SIOCAIPXITFCRT (SIOCPROTOPRIVATE) | 82 | #define SIOCAIPXITFCRT (SIOCPROTOPRIVATE) |
| 72 | #define SIOCAIPXPRISLT (SIOCPROTOPRIVATE + 1) | 83 | #define SIOCAIPXPRISLT (SIOCPROTOPRIVATE + 1) |
diff --git a/include/uapi/linux/libc-compat.h b/include/uapi/linux/libc-compat.h index e4f048ee7043..44b8a6bd5fe1 100644 --- a/include/uapi/linux/libc-compat.h +++ b/include/uapi/linux/libc-compat.h | |||
| @@ -139,6 +139,25 @@ | |||
| 139 | 139 | ||
| 140 | #endif /* _NETINET_IN_H */ | 140 | #endif /* _NETINET_IN_H */ |
| 141 | 141 | ||
| 142 | /* Coordinate with glibc netipx/ipx.h header. */ | ||
| 143 | #if defined(__NETIPX_IPX_H) | ||
| 144 | |||
| 145 | #define __UAPI_DEF_SOCKADDR_IPX 0 | ||
| 146 | #define __UAPI_DEF_IPX_ROUTE_DEFINITION 0 | ||
| 147 | #define __UAPI_DEF_IPX_INTERFACE_DEFINITION 0 | ||
| 148 | #define __UAPI_DEF_IPX_CONFIG_DATA 0 | ||
| 149 | #define __UAPI_DEF_IPX_ROUTE_DEF 0 | ||
| 150 | |||
| 151 | #else /* defined(__NETIPX_IPX_H) */ | ||
| 152 | |||
| 153 | #define __UAPI_DEF_SOCKADDR_IPX 1 | ||
| 154 | #define __UAPI_DEF_IPX_ROUTE_DEFINITION 1 | ||
| 155 | #define __UAPI_DEF_IPX_INTERFACE_DEFINITION 1 | ||
| 156 | #define __UAPI_DEF_IPX_CONFIG_DATA 1 | ||
| 157 | #define __UAPI_DEF_IPX_ROUTE_DEF 1 | ||
| 158 | |||
| 159 | #endif /* defined(__NETIPX_IPX_H) */ | ||
| 160 | |||
| 142 | /* Definitions for xattr.h */ | 161 | /* Definitions for xattr.h */ |
| 143 | #if defined(_SYS_XATTR_H) | 162 | #if defined(_SYS_XATTR_H) |
| 144 | #define __UAPI_DEF_XATTR 0 | 163 | #define __UAPI_DEF_XATTR 0 |
| @@ -179,6 +198,13 @@ | |||
| 179 | #define __UAPI_DEF_IN6_PKTINFO 1 | 198 | #define __UAPI_DEF_IN6_PKTINFO 1 |
| 180 | #define __UAPI_DEF_IP6_MTUINFO 1 | 199 | #define __UAPI_DEF_IP6_MTUINFO 1 |
| 181 | 200 | ||
| 201 | /* Definitions for ipx.h */ | ||
| 202 | #define __UAPI_DEF_SOCKADDR_IPX 1 | ||
| 203 | #define __UAPI_DEF_IPX_ROUTE_DEFINITION 1 | ||
| 204 | #define __UAPI_DEF_IPX_INTERFACE_DEFINITION 1 | ||
| 205 | #define __UAPI_DEF_IPX_CONFIG_DATA 1 | ||
| 206 | #define __UAPI_DEF_IPX_ROUTE_DEF 1 | ||
| 207 | |||
| 182 | /* Definitions for xattr.h */ | 208 | /* Definitions for xattr.h */ |
| 183 | #define __UAPI_DEF_XATTR 1 | 209 | #define __UAPI_DEF_XATTR 1 |
| 184 | 210 | ||
diff --git a/include/uapi/linux/netfilter/nf_tables.h b/include/uapi/linux/netfilter/nf_tables.h index 01751faccaf8..c674ba2563b7 100644 --- a/include/uapi/linux/netfilter/nf_tables.h +++ b/include/uapi/linux/netfilter/nf_tables.h | |||
| @@ -24,7 +24,7 @@ enum nft_registers { | |||
| 24 | __NFT_REG_MAX, | 24 | __NFT_REG_MAX, |
| 25 | 25 | ||
| 26 | NFT_REG32_00 = 8, | 26 | NFT_REG32_00 = 8, |
| 27 | MFT_REG32_01, | 27 | NFT_REG32_01, |
| 28 | NFT_REG32_02, | 28 | NFT_REG32_02, |
| 29 | NFT_REG32_03, | 29 | NFT_REG32_03, |
| 30 | NFT_REG32_04, | 30 | NFT_REG32_04, |
diff --git a/include/uapi/linux/openvswitch.h b/include/uapi/linux/openvswitch.h index d95a3018f6a1..54c3b4f4aceb 100644 --- a/include/uapi/linux/openvswitch.h +++ b/include/uapi/linux/openvswitch.h | |||
| @@ -583,7 +583,7 @@ enum ovs_userspace_attr { | |||
| 583 | #define OVS_USERSPACE_ATTR_MAX (__OVS_USERSPACE_ATTR_MAX - 1) | 583 | #define OVS_USERSPACE_ATTR_MAX (__OVS_USERSPACE_ATTR_MAX - 1) |
| 584 | 584 | ||
| 585 | struct ovs_action_trunc { | 585 | struct ovs_action_trunc { |
| 586 | uint32_t max_len; /* Max packet size in bytes. */ | 586 | __u32 max_len; /* Max packet size in bytes. */ |
| 587 | }; | 587 | }; |
| 588 | 588 | ||
| 589 | /** | 589 | /** |
| @@ -632,8 +632,8 @@ enum ovs_hash_alg { | |||
| 632 | * @hash_basis: basis used for computing hash. | 632 | * @hash_basis: basis used for computing hash. |
| 633 | */ | 633 | */ |
| 634 | struct ovs_action_hash { | 634 | struct ovs_action_hash { |
| 635 | uint32_t hash_alg; /* One of ovs_hash_alg. */ | 635 | __u32 hash_alg; /* One of ovs_hash_alg. */ |
| 636 | uint32_t hash_basis; | 636 | __u32 hash_basis; |
| 637 | }; | 637 | }; |
| 638 | 638 | ||
| 639 | /** | 639 | /** |
diff --git a/include/uapi/linux/sctp.h b/include/uapi/linux/sctp.h index d304f4c9792c..a406adcc0793 100644 --- a/include/uapi/linux/sctp.h +++ b/include/uapi/linux/sctp.h | |||
| @@ -944,4 +944,68 @@ struct sctp_default_prinfo { | |||
| 944 | __u16 pr_policy; | 944 | __u16 pr_policy; |
| 945 | }; | 945 | }; |
| 946 | 946 | ||
| 947 | struct sctp_info { | ||
| 948 | __u32 sctpi_tag; | ||
| 949 | __u32 sctpi_state; | ||
| 950 | __u32 sctpi_rwnd; | ||
| 951 | __u16 sctpi_unackdata; | ||
| 952 | __u16 sctpi_penddata; | ||
| 953 | __u16 sctpi_instrms; | ||
| 954 | __u16 sctpi_outstrms; | ||
| 955 | __u32 sctpi_fragmentation_point; | ||
| 956 | __u32 sctpi_inqueue; | ||
| 957 | __u32 sctpi_outqueue; | ||
| 958 | __u32 sctpi_overall_error; | ||
| 959 | __u32 sctpi_max_burst; | ||
| 960 | __u32 sctpi_maxseg; | ||
| 961 | __u32 sctpi_peer_rwnd; | ||
| 962 | __u32 sctpi_peer_tag; | ||
| 963 | __u8 sctpi_peer_capable; | ||
| 964 | __u8 sctpi_peer_sack; | ||
| 965 | __u16 __reserved1; | ||
| 966 | |||
| 967 | /* assoc status info */ | ||
| 968 | __u64 sctpi_isacks; | ||
| 969 | __u64 sctpi_osacks; | ||
| 970 | __u64 sctpi_opackets; | ||
| 971 | __u64 sctpi_ipackets; | ||
| 972 | __u64 sctpi_rtxchunks; | ||
| 973 | __u64 sctpi_outofseqtsns; | ||
| 974 | __u64 sctpi_idupchunks; | ||
| 975 | __u64 sctpi_gapcnt; | ||
| 976 | __u64 sctpi_ouodchunks; | ||
| 977 | __u64 sctpi_iuodchunks; | ||
| 978 | __u64 sctpi_oodchunks; | ||
| 979 | __u64 sctpi_iodchunks; | ||
| 980 | __u64 sctpi_octrlchunks; | ||
| 981 | __u64 sctpi_ictrlchunks; | ||
| 982 | |||
| 983 | /* primary transport info */ | ||
| 984 | struct sockaddr_storage sctpi_p_address; | ||
| 985 | __s32 sctpi_p_state; | ||
| 986 | __u32 sctpi_p_cwnd; | ||
| 987 | __u32 sctpi_p_srtt; | ||
| 988 | __u32 sctpi_p_rto; | ||
| 989 | __u32 sctpi_p_hbinterval; | ||
| 990 | __u32 sctpi_p_pathmaxrxt; | ||
| 991 | __u32 sctpi_p_sackdelay; | ||
| 992 | __u32 sctpi_p_sackfreq; | ||
| 993 | __u32 sctpi_p_ssthresh; | ||
| 994 | __u32 sctpi_p_partial_bytes_acked; | ||
| 995 | __u32 sctpi_p_flight_size; | ||
| 996 | __u16 sctpi_p_error; | ||
| 997 | __u16 __reserved2; | ||
| 998 | |||
| 999 | /* sctp sock info */ | ||
| 1000 | __u32 sctpi_s_autoclose; | ||
| 1001 | __u32 sctpi_s_adaptation_ind; | ||
| 1002 | __u32 sctpi_s_pd_point; | ||
| 1003 | __u8 sctpi_s_nodelay; | ||
| 1004 | __u8 sctpi_s_disable_fragments; | ||
| 1005 | __u8 sctpi_s_v4mapped; | ||
| 1006 | __u8 sctpi_s_frag_interleave; | ||
| 1007 | __u32 sctpi_s_type; | ||
| 1008 | __u32 __reserved3; | ||
| 1009 | }; | ||
| 1010 | |||
| 947 | #endif /* _UAPI_SCTP_H */ | 1011 | #endif /* _UAPI_SCTP_H */ |
diff --git a/include/xen/xen-ops.h b/include/xen/xen-ops.h index 9a37c541822f..b5486e648607 100644 --- a/include/xen/xen-ops.h +++ b/include/xen/xen-ops.h | |||
| @@ -9,8 +9,8 @@ | |||
| 9 | 9 | ||
| 10 | DECLARE_PER_CPU(struct vcpu_info *, xen_vcpu); | 10 | DECLARE_PER_CPU(struct vcpu_info *, xen_vcpu); |
| 11 | 11 | ||
| 12 | DECLARE_PER_CPU(int, xen_vcpu_id); | 12 | DECLARE_PER_CPU(uint32_t, xen_vcpu_id); |
| 13 | static inline int xen_vcpu_nr(int cpu) | 13 | static inline uint32_t xen_vcpu_nr(int cpu) |
| 14 | { | 14 | { |
| 15 | return per_cpu(xen_vcpu_id, cpu); | 15 | return per_cpu(xen_vcpu_id, cpu); |
| 16 | } | 16 | } |
