diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/basic_mmio_gpio.h | 15 | ||||
-rw-r--r-- | include/linux/blk_types.h | 6 | ||||
-rw-r--r-- | include/linux/blkdev.h | 1 | ||||
-rw-r--r-- | include/linux/fs.h | 2 | ||||
-rw-r--r-- | include/linux/kvm.h | 1 | ||||
-rw-r--r-- | include/linux/memcontrol.h | 19 | ||||
-rw-r--r-- | include/linux/mfd/wm8994/pdata.h | 2 | ||||
-rw-r--r-- | include/linux/namei.h | 3 | ||||
-rw-r--r-- | include/linux/perf_event.h | 24 | ||||
-rw-r--r-- | include/linux/regulator/consumer.h | 2 | ||||
-rw-r--r-- | include/linux/skbuff.h | 1 | ||||
-rw-r--r-- | include/linux/snmp.h | 2 | ||||
-rw-r--r-- | include/linux/swap.h | 6 | ||||
-rw-r--r-- | include/net/9p/9p.h | 29 | ||||
-rw-r--r-- | include/net/cfg80211.h | 2 | ||||
-rw-r--r-- | include/net/flow.h | 25 | ||||
-rw-r--r-- | include/net/request_sock.h | 3 | ||||
-rw-r--r-- | include/net/sctp/command.h | 1 | ||||
-rw-r--r-- | include/net/tcp.h | 22 | ||||
-rw-r--r-- | include/net/transp_v6.h | 1 |
20 files changed, 116 insertions, 51 deletions
diff --git a/include/linux/basic_mmio_gpio.h b/include/linux/basic_mmio_gpio.h index 98999cf107ce..feb912196745 100644 --- a/include/linux/basic_mmio_gpio.h +++ b/include/linux/basic_mmio_gpio.h | |||
@@ -63,15 +63,10 @@ static inline struct bgpio_chip *to_bgpio_chip(struct gpio_chip *gc) | |||
63 | return container_of(gc, struct bgpio_chip, gc); | 63 | return container_of(gc, struct bgpio_chip, gc); |
64 | } | 64 | } |
65 | 65 | ||
66 | int __devexit bgpio_remove(struct bgpio_chip *bgc); | 66 | int bgpio_remove(struct bgpio_chip *bgc); |
67 | int __devinit bgpio_init(struct bgpio_chip *bgc, | 67 | int bgpio_init(struct bgpio_chip *bgc, struct device *dev, |
68 | struct device *dev, | 68 | unsigned long sz, void __iomem *dat, void __iomem *set, |
69 | unsigned long sz, | 69 | void __iomem *clr, void __iomem *dirout, void __iomem *dirin, |
70 | void __iomem *dat, | 70 | bool big_endian); |
71 | void __iomem *set, | ||
72 | void __iomem *clr, | ||
73 | void __iomem *dirout, | ||
74 | void __iomem *dirin, | ||
75 | bool big_endian); | ||
76 | 71 | ||
77 | #endif /* __BASIC_MMIO_GPIO_H */ | 72 | #endif /* __BASIC_MMIO_GPIO_H */ |
diff --git a/include/linux/blk_types.h b/include/linux/blk_types.h index 32f0076e844b..71fc53bb8f1c 100644 --- a/include/linux/blk_types.h +++ b/include/linux/blk_types.h | |||
@@ -124,6 +124,7 @@ enum rq_flag_bits { | |||
124 | 124 | ||
125 | __REQ_SYNC, /* request is sync (sync write or read) */ | 125 | __REQ_SYNC, /* request is sync (sync write or read) */ |
126 | __REQ_META, /* metadata io request */ | 126 | __REQ_META, /* metadata io request */ |
127 | __REQ_PRIO, /* boost priority in cfq */ | ||
127 | __REQ_DISCARD, /* request to discard sectors */ | 128 | __REQ_DISCARD, /* request to discard sectors */ |
128 | __REQ_SECURE, /* secure discard (used with __REQ_DISCARD) */ | 129 | __REQ_SECURE, /* secure discard (used with __REQ_DISCARD) */ |
129 | 130 | ||
@@ -161,14 +162,15 @@ enum rq_flag_bits { | |||
161 | #define REQ_FAILFAST_DRIVER (1 << __REQ_FAILFAST_DRIVER) | 162 | #define REQ_FAILFAST_DRIVER (1 << __REQ_FAILFAST_DRIVER) |
162 | #define REQ_SYNC (1 << __REQ_SYNC) | 163 | #define REQ_SYNC (1 << __REQ_SYNC) |
163 | #define REQ_META (1 << __REQ_META) | 164 | #define REQ_META (1 << __REQ_META) |
165 | #define REQ_PRIO (1 << __REQ_PRIO) | ||
164 | #define REQ_DISCARD (1 << __REQ_DISCARD) | 166 | #define REQ_DISCARD (1 << __REQ_DISCARD) |
165 | #define REQ_NOIDLE (1 << __REQ_NOIDLE) | 167 | #define REQ_NOIDLE (1 << __REQ_NOIDLE) |
166 | 168 | ||
167 | #define REQ_FAILFAST_MASK \ | 169 | #define REQ_FAILFAST_MASK \ |
168 | (REQ_FAILFAST_DEV | REQ_FAILFAST_TRANSPORT | REQ_FAILFAST_DRIVER) | 170 | (REQ_FAILFAST_DEV | REQ_FAILFAST_TRANSPORT | REQ_FAILFAST_DRIVER) |
169 | #define REQ_COMMON_MASK \ | 171 | #define REQ_COMMON_MASK \ |
170 | (REQ_WRITE | REQ_FAILFAST_MASK | REQ_SYNC | REQ_META | REQ_DISCARD | \ | 172 | (REQ_WRITE | REQ_FAILFAST_MASK | REQ_SYNC | REQ_META | REQ_PRIO | \ |
171 | REQ_NOIDLE | REQ_FLUSH | REQ_FUA | REQ_SECURE) | 173 | REQ_DISCARD | REQ_NOIDLE | REQ_FLUSH | REQ_FUA | REQ_SECURE) |
172 | #define REQ_CLONE_MASK REQ_COMMON_MASK | 174 | #define REQ_CLONE_MASK REQ_COMMON_MASK |
173 | 175 | ||
174 | #define REQ_RAHEAD (1 << __REQ_RAHEAD) | 176 | #define REQ_RAHEAD (1 << __REQ_RAHEAD) |
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index 84b15d54f8c2..7fbaa9103344 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h | |||
@@ -873,7 +873,6 @@ struct blk_plug { | |||
873 | struct list_head list; | 873 | struct list_head list; |
874 | struct list_head cb_list; | 874 | struct list_head cb_list; |
875 | unsigned int should_sort; | 875 | unsigned int should_sort; |
876 | unsigned int count; | ||
877 | }; | 876 | }; |
878 | #define BLK_MAX_REQUEST_COUNT 16 | 877 | #define BLK_MAX_REQUEST_COUNT 16 |
879 | 878 | ||
diff --git a/include/linux/fs.h b/include/linux/fs.h index c2bd68f2277a..277f497923a2 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h | |||
@@ -162,10 +162,8 @@ struct inodes_stat_t { | |||
162 | #define READA RWA_MASK | 162 | #define READA RWA_MASK |
163 | 163 | ||
164 | #define READ_SYNC (READ | REQ_SYNC) | 164 | #define READ_SYNC (READ | REQ_SYNC) |
165 | #define READ_META (READ | REQ_META) | ||
166 | #define WRITE_SYNC (WRITE | REQ_SYNC | REQ_NOIDLE) | 165 | #define WRITE_SYNC (WRITE | REQ_SYNC | REQ_NOIDLE) |
167 | #define WRITE_ODIRECT (WRITE | REQ_SYNC) | 166 | #define WRITE_ODIRECT (WRITE | REQ_SYNC) |
168 | #define WRITE_META (WRITE | REQ_META) | ||
169 | #define WRITE_FLUSH (WRITE | REQ_SYNC | REQ_NOIDLE | REQ_FLUSH) | 167 | #define WRITE_FLUSH (WRITE | REQ_SYNC | REQ_NOIDLE | REQ_FLUSH) |
170 | #define WRITE_FUA (WRITE | REQ_SYNC | REQ_NOIDLE | REQ_FUA) | 168 | #define WRITE_FUA (WRITE | REQ_SYNC | REQ_NOIDLE | REQ_FUA) |
171 | #define WRITE_FLUSH_FUA (WRITE | REQ_SYNC | REQ_NOIDLE | REQ_FLUSH | REQ_FUA) | 169 | #define WRITE_FLUSH_FUA (WRITE | REQ_SYNC | REQ_NOIDLE | REQ_FLUSH | REQ_FUA) |
diff --git a/include/linux/kvm.h b/include/linux/kvm.h index 2c366b52f505..aace6b8691a2 100644 --- a/include/linux/kvm.h +++ b/include/linux/kvm.h | |||
@@ -553,6 +553,7 @@ struct kvm_ppc_pvinfo { | |||
553 | #define KVM_CAP_SPAPR_TCE 63 | 553 | #define KVM_CAP_SPAPR_TCE 63 |
554 | #define KVM_CAP_PPC_SMT 64 | 554 | #define KVM_CAP_PPC_SMT 64 |
555 | #define KVM_CAP_PPC_RMA 65 | 555 | #define KVM_CAP_PPC_RMA 65 |
556 | #define KVM_CAP_S390_GMAP 71 | ||
556 | 557 | ||
557 | #ifdef KVM_CAP_IRQ_ROUTING | 558 | #ifdef KVM_CAP_IRQ_ROUTING |
558 | 559 | ||
diff --git a/include/linux/memcontrol.h b/include/linux/memcontrol.h index 3b535db00a94..343bd7661f2a 100644 --- a/include/linux/memcontrol.h +++ b/include/linux/memcontrol.h | |||
@@ -39,16 +39,6 @@ extern unsigned long mem_cgroup_isolate_pages(unsigned long nr_to_scan, | |||
39 | struct mem_cgroup *mem_cont, | 39 | struct mem_cgroup *mem_cont, |
40 | int active, int file); | 40 | int active, int file); |
41 | 41 | ||
42 | struct memcg_scanrecord { | ||
43 | struct mem_cgroup *mem; /* scanend memory cgroup */ | ||
44 | struct mem_cgroup *root; /* scan target hierarchy root */ | ||
45 | int context; /* scanning context (see memcontrol.c) */ | ||
46 | unsigned long nr_scanned[2]; /* the number of scanned pages */ | ||
47 | unsigned long nr_rotated[2]; /* the number of rotated pages */ | ||
48 | unsigned long nr_freed[2]; /* the number of freed pages */ | ||
49 | unsigned long elapsed; /* nsec of time elapsed while scanning */ | ||
50 | }; | ||
51 | |||
52 | #ifdef CONFIG_CGROUP_MEM_RES_CTLR | 42 | #ifdef CONFIG_CGROUP_MEM_RES_CTLR |
53 | /* | 43 | /* |
54 | * All "charge" functions with gfp_mask should use GFP_KERNEL or | 44 | * All "charge" functions with gfp_mask should use GFP_KERNEL or |
@@ -127,15 +117,6 @@ mem_cgroup_get_reclaim_stat_from_page(struct page *page); | |||
127 | extern void mem_cgroup_print_oom_info(struct mem_cgroup *memcg, | 117 | extern void mem_cgroup_print_oom_info(struct mem_cgroup *memcg, |
128 | struct task_struct *p); | 118 | struct task_struct *p); |
129 | 119 | ||
130 | extern unsigned long try_to_free_mem_cgroup_pages(struct mem_cgroup *mem, | ||
131 | gfp_t gfp_mask, bool noswap, | ||
132 | struct memcg_scanrecord *rec); | ||
133 | extern unsigned long mem_cgroup_shrink_node_zone(struct mem_cgroup *mem, | ||
134 | gfp_t gfp_mask, bool noswap, | ||
135 | struct zone *zone, | ||
136 | struct memcg_scanrecord *rec, | ||
137 | unsigned long *nr_scanned); | ||
138 | |||
139 | #ifdef CONFIG_CGROUP_MEM_RES_CTLR_SWAP | 120 | #ifdef CONFIG_CGROUP_MEM_RES_CTLR_SWAP |
140 | extern int do_swap_account; | 121 | extern int do_swap_account; |
141 | #endif | 122 | #endif |
diff --git a/include/linux/mfd/wm8994/pdata.h b/include/linux/mfd/wm8994/pdata.h index d12f8d635a81..97cf4f27d647 100644 --- a/include/linux/mfd/wm8994/pdata.h +++ b/include/linux/mfd/wm8994/pdata.h | |||
@@ -26,7 +26,7 @@ struct wm8994_ldo_pdata { | |||
26 | struct regulator_init_data *init_data; | 26 | struct regulator_init_data *init_data; |
27 | }; | 27 | }; |
28 | 28 | ||
29 | #define WM8994_CONFIGURE_GPIO 0x8000 | 29 | #define WM8994_CONFIGURE_GPIO 0x10000 |
30 | 30 | ||
31 | #define WM8994_DRC_REGS 5 | 31 | #define WM8994_DRC_REGS 5 |
32 | #define WM8994_EQ_REGS 20 | 32 | #define WM8994_EQ_REGS 20 |
diff --git a/include/linux/namei.h b/include/linux/namei.h index 76fe2c62ae71..409328d1cbbb 100644 --- a/include/linux/namei.h +++ b/include/linux/namei.h | |||
@@ -48,11 +48,12 @@ enum {LAST_NORM, LAST_ROOT, LAST_DOT, LAST_DOTDOT, LAST_BIND}; | |||
48 | */ | 48 | */ |
49 | #define LOOKUP_FOLLOW 0x0001 | 49 | #define LOOKUP_FOLLOW 0x0001 |
50 | #define LOOKUP_DIRECTORY 0x0002 | 50 | #define LOOKUP_DIRECTORY 0x0002 |
51 | #define LOOKUP_AUTOMOUNT 0x0004 | ||
51 | 52 | ||
52 | #define LOOKUP_PARENT 0x0010 | 53 | #define LOOKUP_PARENT 0x0010 |
53 | #define LOOKUP_REVAL 0x0020 | 54 | #define LOOKUP_REVAL 0x0020 |
54 | #define LOOKUP_RCU 0x0040 | 55 | #define LOOKUP_RCU 0x0040 |
55 | #define LOOKUP_NO_AUTOMOUNT 0x0080 | 56 | |
56 | /* | 57 | /* |
57 | * Intent data | 58 | * Intent data |
58 | */ | 59 | */ |
diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h index 245bafdafd5e..c816075c01ce 100644 --- a/include/linux/perf_event.h +++ b/include/linux/perf_event.h | |||
@@ -944,8 +944,10 @@ extern void perf_pmu_unregister(struct pmu *pmu); | |||
944 | 944 | ||
945 | extern int perf_num_counters(void); | 945 | extern int perf_num_counters(void); |
946 | extern const char *perf_pmu_name(void); | 946 | extern const char *perf_pmu_name(void); |
947 | extern void __perf_event_task_sched_in(struct task_struct *task); | 947 | extern void __perf_event_task_sched_in(struct task_struct *prev, |
948 | extern void __perf_event_task_sched_out(struct task_struct *task, struct task_struct *next); | 948 | struct task_struct *task); |
949 | extern void __perf_event_task_sched_out(struct task_struct *prev, | ||
950 | struct task_struct *next); | ||
949 | extern int perf_event_init_task(struct task_struct *child); | 951 | extern int perf_event_init_task(struct task_struct *child); |
950 | extern void perf_event_exit_task(struct task_struct *child); | 952 | extern void perf_event_exit_task(struct task_struct *child); |
951 | extern void perf_event_free_task(struct task_struct *task); | 953 | extern void perf_event_free_task(struct task_struct *task); |
@@ -1059,17 +1061,20 @@ perf_sw_event(u32 event_id, u64 nr, struct pt_regs *regs, u64 addr) | |||
1059 | 1061 | ||
1060 | extern struct jump_label_key perf_sched_events; | 1062 | extern struct jump_label_key perf_sched_events; |
1061 | 1063 | ||
1062 | static inline void perf_event_task_sched_in(struct task_struct *task) | 1064 | static inline void perf_event_task_sched_in(struct task_struct *prev, |
1065 | struct task_struct *task) | ||
1063 | { | 1066 | { |
1064 | if (static_branch(&perf_sched_events)) | 1067 | if (static_branch(&perf_sched_events)) |
1065 | __perf_event_task_sched_in(task); | 1068 | __perf_event_task_sched_in(prev, task); |
1066 | } | 1069 | } |
1067 | 1070 | ||
1068 | static inline void perf_event_task_sched_out(struct task_struct *task, struct task_struct *next) | 1071 | static inline void perf_event_task_sched_out(struct task_struct *prev, |
1072 | struct task_struct *next) | ||
1069 | { | 1073 | { |
1070 | perf_sw_event(PERF_COUNT_SW_CONTEXT_SWITCHES, 1, NULL, 0); | 1074 | perf_sw_event(PERF_COUNT_SW_CONTEXT_SWITCHES, 1, NULL, 0); |
1071 | 1075 | ||
1072 | __perf_event_task_sched_out(task, next); | 1076 | if (static_branch(&perf_sched_events)) |
1077 | __perf_event_task_sched_out(prev, next); | ||
1073 | } | 1078 | } |
1074 | 1079 | ||
1075 | extern void perf_event_mmap(struct vm_area_struct *vma); | 1080 | extern void perf_event_mmap(struct vm_area_struct *vma); |
@@ -1139,10 +1144,11 @@ extern void perf_event_disable(struct perf_event *event); | |||
1139 | extern void perf_event_task_tick(void); | 1144 | extern void perf_event_task_tick(void); |
1140 | #else | 1145 | #else |
1141 | static inline void | 1146 | static inline void |
1142 | perf_event_task_sched_in(struct task_struct *task) { } | 1147 | perf_event_task_sched_in(struct task_struct *prev, |
1148 | struct task_struct *task) { } | ||
1143 | static inline void | 1149 | static inline void |
1144 | perf_event_task_sched_out(struct task_struct *task, | 1150 | perf_event_task_sched_out(struct task_struct *prev, |
1145 | struct task_struct *next) { } | 1151 | struct task_struct *next) { } |
1146 | static inline int perf_event_init_task(struct task_struct *child) { return 0; } | 1152 | static inline int perf_event_init_task(struct task_struct *child) { return 0; } |
1147 | static inline void perf_event_exit_task(struct task_struct *child) { } | 1153 | static inline void perf_event_exit_task(struct task_struct *child) { } |
1148 | static inline void perf_event_free_task(struct task_struct *task) { } | 1154 | static inline void perf_event_free_task(struct task_struct *task) { } |
diff --git a/include/linux/regulator/consumer.h b/include/linux/regulator/consumer.h index 26f6ea4444e3..b47771aa5718 100644 --- a/include/linux/regulator/consumer.h +++ b/include/linux/regulator/consumer.h | |||
@@ -123,7 +123,7 @@ struct regulator_bulk_data { | |||
123 | const char *supply; | 123 | const char *supply; |
124 | struct regulator *consumer; | 124 | struct regulator *consumer; |
125 | 125 | ||
126 | /* Internal use */ | 126 | /* private: Internal use */ |
127 | int ret; | 127 | int ret; |
128 | }; | 128 | }; |
129 | 129 | ||
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index 7b996ed86d5b..8bd383caa363 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h | |||
@@ -524,6 +524,7 @@ static inline struct sk_buff *alloc_skb_fclone(unsigned int size, | |||
524 | extern bool skb_recycle_check(struct sk_buff *skb, int skb_size); | 524 | extern bool skb_recycle_check(struct sk_buff *skb, int skb_size); |
525 | 525 | ||
526 | extern struct sk_buff *skb_morph(struct sk_buff *dst, struct sk_buff *src); | 526 | extern struct sk_buff *skb_morph(struct sk_buff *dst, struct sk_buff *src); |
527 | extern int skb_copy_ubufs(struct sk_buff *skb, gfp_t gfp_mask); | ||
527 | extern struct sk_buff *skb_clone(struct sk_buff *skb, | 528 | extern struct sk_buff *skb_clone(struct sk_buff *skb, |
528 | gfp_t priority); | 529 | gfp_t priority); |
529 | extern struct sk_buff *skb_copy(const struct sk_buff *skb, | 530 | extern struct sk_buff *skb_copy(const struct sk_buff *skb, |
diff --git a/include/linux/snmp.h b/include/linux/snmp.h index 12b2b18e50c1..e16557a357e5 100644 --- a/include/linux/snmp.h +++ b/include/linux/snmp.h | |||
@@ -231,6 +231,8 @@ enum | |||
231 | LINUX_MIB_TCPDEFERACCEPTDROP, | 231 | LINUX_MIB_TCPDEFERACCEPTDROP, |
232 | LINUX_MIB_IPRPFILTER, /* IP Reverse Path Filter (rp_filter) */ | 232 | LINUX_MIB_IPRPFILTER, /* IP Reverse Path Filter (rp_filter) */ |
233 | LINUX_MIB_TCPTIMEWAITOVERFLOW, /* TCPTimeWaitOverflow */ | 233 | LINUX_MIB_TCPTIMEWAITOVERFLOW, /* TCPTimeWaitOverflow */ |
234 | LINUX_MIB_TCPREQQFULLDOCOOKIES, /* TCPReqQFullDoCookies */ | ||
235 | LINUX_MIB_TCPREQQFULLDROP, /* TCPReqQFullDrop */ | ||
234 | __LINUX_MIB_MAX | 236 | __LINUX_MIB_MAX |
235 | }; | 237 | }; |
236 | 238 | ||
diff --git a/include/linux/swap.h b/include/linux/swap.h index 14d62490922e..c71f84bb62ec 100644 --- a/include/linux/swap.h +++ b/include/linux/swap.h | |||
@@ -252,6 +252,12 @@ static inline void lru_cache_add_file(struct page *page) | |||
252 | extern unsigned long try_to_free_pages(struct zonelist *zonelist, int order, | 252 | extern unsigned long try_to_free_pages(struct zonelist *zonelist, int order, |
253 | gfp_t gfp_mask, nodemask_t *mask); | 253 | gfp_t gfp_mask, nodemask_t *mask); |
254 | extern int __isolate_lru_page(struct page *page, int mode, int file); | 254 | extern int __isolate_lru_page(struct page *page, int mode, int file); |
255 | extern unsigned long try_to_free_mem_cgroup_pages(struct mem_cgroup *mem, | ||
256 | gfp_t gfp_mask, bool noswap); | ||
257 | extern unsigned long mem_cgroup_shrink_node_zone(struct mem_cgroup *mem, | ||
258 | gfp_t gfp_mask, bool noswap, | ||
259 | struct zone *zone, | ||
260 | unsigned long *nr_scanned); | ||
255 | extern unsigned long shrink_all_memory(unsigned long nr_pages); | 261 | extern unsigned long shrink_all_memory(unsigned long nr_pages); |
256 | extern int vm_swappiness; | 262 | extern int vm_swappiness; |
257 | extern int remove_mapping(struct address_space *mapping, struct page *page); | 263 | extern int remove_mapping(struct address_space *mapping, struct page *page); |
diff --git a/include/net/9p/9p.h b/include/net/9p/9p.h index 342dcf13d039..a6326ef8ade6 100644 --- a/include/net/9p/9p.h +++ b/include/net/9p/9p.h | |||
@@ -288,6 +288,35 @@ enum p9_perm_t { | |||
288 | P9_DMSETVTX = 0x00010000, | 288 | P9_DMSETVTX = 0x00010000, |
289 | }; | 289 | }; |
290 | 290 | ||
291 | /* 9p2000.L open flags */ | ||
292 | #define P9_DOTL_RDONLY 00000000 | ||
293 | #define P9_DOTL_WRONLY 00000001 | ||
294 | #define P9_DOTL_RDWR 00000002 | ||
295 | #define P9_DOTL_NOACCESS 00000003 | ||
296 | #define P9_DOTL_CREATE 00000100 | ||
297 | #define P9_DOTL_EXCL 00000200 | ||
298 | #define P9_DOTL_NOCTTY 00000400 | ||
299 | #define P9_DOTL_TRUNC 00001000 | ||
300 | #define P9_DOTL_APPEND 00002000 | ||
301 | #define P9_DOTL_NONBLOCK 00004000 | ||
302 | #define P9_DOTL_DSYNC 00010000 | ||
303 | #define P9_DOTL_FASYNC 00020000 | ||
304 | #define P9_DOTL_DIRECT 00040000 | ||
305 | #define P9_DOTL_LARGEFILE 00100000 | ||
306 | #define P9_DOTL_DIRECTORY 00200000 | ||
307 | #define P9_DOTL_NOFOLLOW 00400000 | ||
308 | #define P9_DOTL_NOATIME 01000000 | ||
309 | #define P9_DOTL_CLOEXEC 02000000 | ||
310 | #define P9_DOTL_SYNC 04000000 | ||
311 | |||
312 | /* 9p2000.L at flags */ | ||
313 | #define P9_DOTL_AT_REMOVEDIR 0x200 | ||
314 | |||
315 | /* 9p2000.L lock type */ | ||
316 | #define P9_LOCK_TYPE_RDLCK 0 | ||
317 | #define P9_LOCK_TYPE_WRLCK 1 | ||
318 | #define P9_LOCK_TYPE_UNLCK 2 | ||
319 | |||
291 | /** | 320 | /** |
292 | * enum p9_qid_t - QID types | 321 | * enum p9_qid_t - QID types |
293 | * @P9_QTDIR: directory | 322 | * @P9_QTDIR: directory |
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h index 408ae4882d22..401d73bd151f 100644 --- a/include/net/cfg80211.h +++ b/include/net/cfg80211.h | |||
@@ -1744,6 +1744,8 @@ struct wiphy_wowlan_support { | |||
1744 | * by default for perm_addr. In this case, the mask should be set to | 1744 | * by default for perm_addr. In this case, the mask should be set to |
1745 | * all-zeroes. In this case it is assumed that the device can handle | 1745 | * all-zeroes. In this case it is assumed that the device can handle |
1746 | * the same number of arbitrary MAC addresses. | 1746 | * the same number of arbitrary MAC addresses. |
1747 | * @registered: protects ->resume and ->suspend sysfs callbacks against | ||
1748 | * unregister hardware | ||
1747 | * @debugfsdir: debugfs directory used for this wiphy, will be renamed | 1749 | * @debugfsdir: debugfs directory used for this wiphy, will be renamed |
1748 | * automatically on wiphy renames | 1750 | * automatically on wiphy renames |
1749 | * @dev: (virtual) struct device for this wiphy | 1751 | * @dev: (virtual) struct device for this wiphy |
diff --git a/include/net/flow.h b/include/net/flow.h index 78113daadd63..a09447749e2d 100644 --- a/include/net/flow.h +++ b/include/net/flow.h | |||
@@ -7,6 +7,7 @@ | |||
7 | #ifndef _NET_FLOW_H | 7 | #ifndef _NET_FLOW_H |
8 | #define _NET_FLOW_H | 8 | #define _NET_FLOW_H |
9 | 9 | ||
10 | #include <linux/socket.h> | ||
10 | #include <linux/in6.h> | 11 | #include <linux/in6.h> |
11 | #include <linux/atomic.h> | 12 | #include <linux/atomic.h> |
12 | 13 | ||
@@ -68,7 +69,7 @@ struct flowi4 { | |||
68 | #define fl4_ipsec_spi uli.spi | 69 | #define fl4_ipsec_spi uli.spi |
69 | #define fl4_mh_type uli.mht.type | 70 | #define fl4_mh_type uli.mht.type |
70 | #define fl4_gre_key uli.gre_key | 71 | #define fl4_gre_key uli.gre_key |
71 | }; | 72 | } __attribute__((__aligned__(BITS_PER_LONG/8))); |
72 | 73 | ||
73 | static inline void flowi4_init_output(struct flowi4 *fl4, int oif, | 74 | static inline void flowi4_init_output(struct flowi4 *fl4, int oif, |
74 | __u32 mark, __u8 tos, __u8 scope, | 75 | __u32 mark, __u8 tos, __u8 scope, |
@@ -112,7 +113,7 @@ struct flowi6 { | |||
112 | #define fl6_ipsec_spi uli.spi | 113 | #define fl6_ipsec_spi uli.spi |
113 | #define fl6_mh_type uli.mht.type | 114 | #define fl6_mh_type uli.mht.type |
114 | #define fl6_gre_key uli.gre_key | 115 | #define fl6_gre_key uli.gre_key |
115 | }; | 116 | } __attribute__((__aligned__(BITS_PER_LONG/8))); |
116 | 117 | ||
117 | struct flowidn { | 118 | struct flowidn { |
118 | struct flowi_common __fl_common; | 119 | struct flowi_common __fl_common; |
@@ -127,7 +128,7 @@ struct flowidn { | |||
127 | union flowi_uli uli; | 128 | union flowi_uli uli; |
128 | #define fld_sport uli.ports.sport | 129 | #define fld_sport uli.ports.sport |
129 | #define fld_dport uli.ports.dport | 130 | #define fld_dport uli.ports.dport |
130 | }; | 131 | } __attribute__((__aligned__(BITS_PER_LONG/8))); |
131 | 132 | ||
132 | struct flowi { | 133 | struct flowi { |
133 | union { | 134 | union { |
@@ -161,6 +162,24 @@ static inline struct flowi *flowidn_to_flowi(struct flowidn *fldn) | |||
161 | return container_of(fldn, struct flowi, u.dn); | 162 | return container_of(fldn, struct flowi, u.dn); |
162 | } | 163 | } |
163 | 164 | ||
165 | typedef unsigned long flow_compare_t; | ||
166 | |||
167 | static inline size_t flow_key_size(u16 family) | ||
168 | { | ||
169 | switch (family) { | ||
170 | case AF_INET: | ||
171 | BUILD_BUG_ON(sizeof(struct flowi4) % sizeof(flow_compare_t)); | ||
172 | return sizeof(struct flowi4) / sizeof(flow_compare_t); | ||
173 | case AF_INET6: | ||
174 | BUILD_BUG_ON(sizeof(struct flowi6) % sizeof(flow_compare_t)); | ||
175 | return sizeof(struct flowi6) / sizeof(flow_compare_t); | ||
176 | case AF_DECnet: | ||
177 | BUILD_BUG_ON(sizeof(struct flowidn) % sizeof(flow_compare_t)); | ||
178 | return sizeof(struct flowidn) / sizeof(flow_compare_t); | ||
179 | } | ||
180 | return 0; | ||
181 | } | ||
182 | |||
164 | #define FLOW_DIR_IN 0 | 183 | #define FLOW_DIR_IN 0 |
165 | #define FLOW_DIR_OUT 1 | 184 | #define FLOW_DIR_OUT 1 |
166 | #define FLOW_DIR_FWD 2 | 185 | #define FLOW_DIR_FWD 2 |
diff --git a/include/net/request_sock.h b/include/net/request_sock.h index 99e6e19b57c2..4c0766e201e3 100644 --- a/include/net/request_sock.h +++ b/include/net/request_sock.h | |||
@@ -96,7 +96,8 @@ extern int sysctl_max_syn_backlog; | |||
96 | */ | 96 | */ |
97 | struct listen_sock { | 97 | struct listen_sock { |
98 | u8 max_qlen_log; | 98 | u8 max_qlen_log; |
99 | /* 3 bytes hole, try to use */ | 99 | u8 synflood_warned; |
100 | /* 2 bytes hole, try to use */ | ||
100 | int qlen; | 101 | int qlen; |
101 | int qlen_young; | 102 | int qlen_young; |
102 | int clock_hand; | 103 | int clock_hand; |
diff --git a/include/net/sctp/command.h b/include/net/sctp/command.h index 6506458ccd33..712b3bebeda7 100644 --- a/include/net/sctp/command.h +++ b/include/net/sctp/command.h | |||
@@ -109,6 +109,7 @@ typedef enum { | |||
109 | SCTP_CMD_SEND_MSG, /* Send the whole use message */ | 109 | SCTP_CMD_SEND_MSG, /* Send the whole use message */ |
110 | SCTP_CMD_SEND_NEXT_ASCONF, /* Send the next ASCONF after ACK */ | 110 | SCTP_CMD_SEND_NEXT_ASCONF, /* Send the next ASCONF after ACK */ |
111 | SCTP_CMD_PURGE_ASCONF_QUEUE, /* Purge all asconf queues.*/ | 111 | SCTP_CMD_PURGE_ASCONF_QUEUE, /* Purge all asconf queues.*/ |
112 | SCTP_CMD_SET_ASOC, /* Restore association context */ | ||
112 | SCTP_CMD_LAST | 113 | SCTP_CMD_LAST |
113 | } sctp_verb_t; | 114 | } sctp_verb_t; |
114 | 115 | ||
diff --git a/include/net/tcp.h b/include/net/tcp.h index 149a415d1e0a..acc620a4a45f 100644 --- a/include/net/tcp.h +++ b/include/net/tcp.h | |||
@@ -431,17 +431,34 @@ extern int tcp_disconnect(struct sock *sk, int flags); | |||
431 | extern __u32 syncookie_secret[2][16-4+SHA_DIGEST_WORDS]; | 431 | extern __u32 syncookie_secret[2][16-4+SHA_DIGEST_WORDS]; |
432 | extern struct sock *cookie_v4_check(struct sock *sk, struct sk_buff *skb, | 432 | extern struct sock *cookie_v4_check(struct sock *sk, struct sk_buff *skb, |
433 | struct ip_options *opt); | 433 | struct ip_options *opt); |
434 | #ifdef CONFIG_SYN_COOKIES | ||
434 | extern __u32 cookie_v4_init_sequence(struct sock *sk, struct sk_buff *skb, | 435 | extern __u32 cookie_v4_init_sequence(struct sock *sk, struct sk_buff *skb, |
435 | __u16 *mss); | 436 | __u16 *mss); |
437 | #else | ||
438 | static inline __u32 cookie_v4_init_sequence(struct sock *sk, | ||
439 | struct sk_buff *skb, | ||
440 | __u16 *mss) | ||
441 | { | ||
442 | return 0; | ||
443 | } | ||
444 | #endif | ||
436 | 445 | ||
437 | extern __u32 cookie_init_timestamp(struct request_sock *req); | 446 | extern __u32 cookie_init_timestamp(struct request_sock *req); |
438 | extern bool cookie_check_timestamp(struct tcp_options_received *opt, bool *); | 447 | extern bool cookie_check_timestamp(struct tcp_options_received *opt, bool *); |
439 | 448 | ||
440 | /* From net/ipv6/syncookies.c */ | 449 | /* From net/ipv6/syncookies.c */ |
441 | extern struct sock *cookie_v6_check(struct sock *sk, struct sk_buff *skb); | 450 | extern struct sock *cookie_v6_check(struct sock *sk, struct sk_buff *skb); |
451 | #ifdef CONFIG_SYN_COOKIES | ||
442 | extern __u32 cookie_v6_init_sequence(struct sock *sk, struct sk_buff *skb, | 452 | extern __u32 cookie_v6_init_sequence(struct sock *sk, struct sk_buff *skb, |
443 | __u16 *mss); | 453 | __u16 *mss); |
444 | 454 | #else | |
455 | static inline __u32 cookie_v6_init_sequence(struct sock *sk, | ||
456 | struct sk_buff *skb, | ||
457 | __u16 *mss) | ||
458 | { | ||
459 | return 0; | ||
460 | } | ||
461 | #endif | ||
445 | /* tcp_output.c */ | 462 | /* tcp_output.c */ |
446 | 463 | ||
447 | extern void __tcp_push_pending_frames(struct sock *sk, unsigned int cur_mss, | 464 | extern void __tcp_push_pending_frames(struct sock *sk, unsigned int cur_mss, |
@@ -460,6 +477,9 @@ extern int tcp_write_wakeup(struct sock *); | |||
460 | extern void tcp_send_fin(struct sock *sk); | 477 | extern void tcp_send_fin(struct sock *sk); |
461 | extern void tcp_send_active_reset(struct sock *sk, gfp_t priority); | 478 | extern void tcp_send_active_reset(struct sock *sk, gfp_t priority); |
462 | extern int tcp_send_synack(struct sock *); | 479 | extern int tcp_send_synack(struct sock *); |
480 | extern int tcp_syn_flood_action(struct sock *sk, | ||
481 | const struct sk_buff *skb, | ||
482 | const char *proto); | ||
463 | extern void tcp_push_one(struct sock *, unsigned int mss_now); | 483 | extern void tcp_push_one(struct sock *, unsigned int mss_now); |
464 | extern void tcp_send_ack(struct sock *sk); | 484 | extern void tcp_send_ack(struct sock *sk); |
465 | extern void tcp_send_delayed_ack(struct sock *sk); | 485 | extern void tcp_send_delayed_ack(struct sock *sk); |
diff --git a/include/net/transp_v6.h b/include/net/transp_v6.h index 5271a741c3a3..498433dd067d 100644 --- a/include/net/transp_v6.h +++ b/include/net/transp_v6.h | |||
@@ -39,6 +39,7 @@ extern int datagram_recv_ctl(struct sock *sk, | |||
39 | struct sk_buff *skb); | 39 | struct sk_buff *skb); |
40 | 40 | ||
41 | extern int datagram_send_ctl(struct net *net, | 41 | extern int datagram_send_ctl(struct net *net, |
42 | struct sock *sk, | ||
42 | struct msghdr *msg, | 43 | struct msghdr *msg, |
43 | struct flowi6 *fl6, | 44 | struct flowi6 *fl6, |
44 | struct ipv6_txoptions *opt, | 45 | struct ipv6_txoptions *opt, |