diff options
author | Tejun Heo <tj@kernel.org> | 2014-09-24 13:00:21 -0400 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2014-09-24 13:00:21 -0400 |
commit | d06efebf0c37d438fcf07057be00dd40fcfce08d (patch) | |
tree | 31a0786d132aadf4cbb9725f3f444ef6e1052128 /include/net | |
parent | bb2e226b3bef596dd56be97df655d857b4603923 (diff) | |
parent | 0a30288da1aec914e158c2d7a3482a85f632750f (diff) |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block into for-3.18
This is to receive 0a30288da1ae ("blk-mq, percpu_ref: implement a
kludge for SCSI blk-mq stall during probe") which implements
__percpu_ref_kill_expedited() to work around SCSI blk-mq stall. The
commit reverted and patches to implement proper fix will be added.
Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Kent Overstreet <kmo@daterainc.com>
Cc: Jens Axboe <axboe@kernel.dk>
Cc: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'include/net')
-rw-r--r-- | include/net/addrconf.h | 1 | ||||
-rw-r--r-- | include/net/bluetooth/hci_core.h | 2 | ||||
-rw-r--r-- | include/net/dst.h | 16 | ||||
-rw-r--r-- | include/net/genetlink.h | 8 | ||||
-rw-r--r-- | include/net/netns/ieee802154_6lowpan.h | 1 | ||||
-rw-r--r-- | include/net/regulatory.h | 2 | ||||
-rw-r--r-- | include/net/sch_generic.h | 3 | ||||
-rw-r--r-- | include/net/sctp/sctp.h | 13 | ||||
-rw-r--r-- | include/net/sock.h | 4 | ||||
-rw-r--r-- | include/net/wimax.h | 2 |
10 files changed, 44 insertions, 8 deletions
diff --git a/include/net/addrconf.h b/include/net/addrconf.h index f679877bb601..ec51e673b4b6 100644 --- a/include/net/addrconf.h +++ b/include/net/addrconf.h | |||
@@ -204,6 +204,7 @@ void ipv6_sock_ac_close(struct sock *sk); | |||
204 | 204 | ||
205 | int ipv6_dev_ac_inc(struct net_device *dev, const struct in6_addr *addr); | 205 | int ipv6_dev_ac_inc(struct net_device *dev, const struct in6_addr *addr); |
206 | int __ipv6_dev_ac_dec(struct inet6_dev *idev, const struct in6_addr *addr); | 206 | int __ipv6_dev_ac_dec(struct inet6_dev *idev, const struct in6_addr *addr); |
207 | void ipv6_ac_destroy_dev(struct inet6_dev *idev); | ||
207 | bool ipv6_chk_acast_addr(struct net *net, struct net_device *dev, | 208 | bool ipv6_chk_acast_addr(struct net *net, struct net_device *dev, |
208 | const struct in6_addr *addr); | 209 | const struct in6_addr *addr); |
209 | bool ipv6_chk_acast_addr_src(struct net *net, struct net_device *dev, | 210 | bool ipv6_chk_acast_addr_src(struct net *net, struct net_device *dev, |
diff --git a/include/net/bluetooth/hci_core.h b/include/net/bluetooth/hci_core.h index b5d5af3aa469..6f884e6c731e 100644 --- a/include/net/bluetooth/hci_core.h +++ b/include/net/bluetooth/hci_core.h | |||
@@ -464,6 +464,8 @@ struct hci_conn_params { | |||
464 | HCI_AUTO_CONN_ALWAYS, | 464 | HCI_AUTO_CONN_ALWAYS, |
465 | HCI_AUTO_CONN_LINK_LOSS, | 465 | HCI_AUTO_CONN_LINK_LOSS, |
466 | } auto_connect; | 466 | } auto_connect; |
467 | |||
468 | struct hci_conn *conn; | ||
467 | }; | 469 | }; |
468 | 470 | ||
469 | extern struct list_head hci_dev_list; | 471 | extern struct list_head hci_dev_list; |
diff --git a/include/net/dst.h b/include/net/dst.h index 71c60f42be48..a8ae4e760778 100644 --- a/include/net/dst.h +++ b/include/net/dst.h | |||
@@ -480,6 +480,7 @@ void dst_init(void); | |||
480 | /* Flags for xfrm_lookup flags argument. */ | 480 | /* Flags for xfrm_lookup flags argument. */ |
481 | enum { | 481 | enum { |
482 | XFRM_LOOKUP_ICMP = 1 << 0, | 482 | XFRM_LOOKUP_ICMP = 1 << 0, |
483 | XFRM_LOOKUP_QUEUE = 1 << 1, | ||
483 | }; | 484 | }; |
484 | 485 | ||
485 | struct flowi; | 486 | struct flowi; |
@@ -490,7 +491,16 @@ static inline struct dst_entry *xfrm_lookup(struct net *net, | |||
490 | int flags) | 491 | int flags) |
491 | { | 492 | { |
492 | return dst_orig; | 493 | return dst_orig; |
493 | } | 494 | } |
495 | |||
496 | static inline struct dst_entry *xfrm_lookup_route(struct net *net, | ||
497 | struct dst_entry *dst_orig, | ||
498 | const struct flowi *fl, | ||
499 | struct sock *sk, | ||
500 | int flags) | ||
501 | { | ||
502 | return dst_orig; | ||
503 | } | ||
494 | 504 | ||
495 | static inline struct xfrm_state *dst_xfrm(const struct dst_entry *dst) | 505 | static inline struct xfrm_state *dst_xfrm(const struct dst_entry *dst) |
496 | { | 506 | { |
@@ -502,6 +512,10 @@ struct dst_entry *xfrm_lookup(struct net *net, struct dst_entry *dst_orig, | |||
502 | const struct flowi *fl, struct sock *sk, | 512 | const struct flowi *fl, struct sock *sk, |
503 | int flags); | 513 | int flags); |
504 | 514 | ||
515 | struct dst_entry *xfrm_lookup_route(struct net *net, struct dst_entry *dst_orig, | ||
516 | const struct flowi *fl, struct sock *sk, | ||
517 | int flags); | ||
518 | |||
505 | /* skb attached with this dst needs transformation if dst->xfrm is valid */ | 519 | /* skb attached with this dst needs transformation if dst->xfrm is valid */ |
506 | static inline struct xfrm_state *dst_xfrm(const struct dst_entry *dst) | 520 | static inline struct xfrm_state *dst_xfrm(const struct dst_entry *dst) |
507 | { | 521 | { |
diff --git a/include/net/genetlink.h b/include/net/genetlink.h index 93695f0e22a5..af10c2cf8a1d 100644 --- a/include/net/genetlink.h +++ b/include/net/genetlink.h | |||
@@ -394,4 +394,12 @@ static inline int genl_set_err(struct genl_family *family, struct net *net, | |||
394 | return netlink_set_err(net->genl_sock, portid, group, code); | 394 | return netlink_set_err(net->genl_sock, portid, group, code); |
395 | } | 395 | } |
396 | 396 | ||
397 | static inline int genl_has_listeners(struct genl_family *family, | ||
398 | struct sock *sk, unsigned int group) | ||
399 | { | ||
400 | if (WARN_ON_ONCE(group >= family->n_mcgrps)) | ||
401 | return -EINVAL; | ||
402 | group = family->mcgrp_offset + group; | ||
403 | return netlink_has_listeners(sk, group); | ||
404 | } | ||
397 | #endif /* __NET_GENERIC_NETLINK_H */ | 405 | #endif /* __NET_GENERIC_NETLINK_H */ |
diff --git a/include/net/netns/ieee802154_6lowpan.h b/include/net/netns/ieee802154_6lowpan.h index e2070960bac0..8170f8d7052b 100644 --- a/include/net/netns/ieee802154_6lowpan.h +++ b/include/net/netns/ieee802154_6lowpan.h | |||
@@ -16,7 +16,6 @@ struct netns_sysctl_lowpan { | |||
16 | struct netns_ieee802154_lowpan { | 16 | struct netns_ieee802154_lowpan { |
17 | struct netns_sysctl_lowpan sysctl; | 17 | struct netns_sysctl_lowpan sysctl; |
18 | struct netns_frags frags; | 18 | struct netns_frags frags; |
19 | int max_dsize; | ||
20 | }; | 19 | }; |
21 | 20 | ||
22 | #endif | 21 | #endif |
diff --git a/include/net/regulatory.h b/include/net/regulatory.h index 259992444e80..dad7ab20a8cb 100644 --- a/include/net/regulatory.h +++ b/include/net/regulatory.h | |||
@@ -167,7 +167,7 @@ struct ieee80211_reg_rule { | |||
167 | struct ieee80211_regdomain { | 167 | struct ieee80211_regdomain { |
168 | struct rcu_head rcu_head; | 168 | struct rcu_head rcu_head; |
169 | u32 n_reg_rules; | 169 | u32 n_reg_rules; |
170 | char alpha2[2]; | 170 | char alpha2[3]; |
171 | enum nl80211_dfs_regions dfs_region; | 171 | enum nl80211_dfs_regions dfs_region; |
172 | struct ieee80211_reg_rule reg_rules[]; | 172 | struct ieee80211_reg_rule reg_rules[]; |
173 | }; | 173 | }; |
diff --git a/include/net/sch_generic.h b/include/net/sch_generic.h index a3cfb8ebeb53..620e086c0cbe 100644 --- a/include/net/sch_generic.h +++ b/include/net/sch_generic.h | |||
@@ -231,7 +231,8 @@ struct qdisc_skb_cb { | |||
231 | unsigned int pkt_len; | 231 | unsigned int pkt_len; |
232 | u16 slave_dev_queue_mapping; | 232 | u16 slave_dev_queue_mapping; |
233 | u16 _pad; | 233 | u16 _pad; |
234 | unsigned char data[24]; | 234 | #define QDISC_CB_PRIV_LEN 20 |
235 | unsigned char data[QDISC_CB_PRIV_LEN]; | ||
235 | }; | 236 | }; |
236 | 237 | ||
237 | static inline void qdisc_cb_private_validate(const struct sk_buff *skb, int sz) | 238 | static inline void qdisc_cb_private_validate(const struct sk_buff *skb, int sz) |
diff --git a/include/net/sctp/sctp.h b/include/net/sctp/sctp.h index f6e7397e799d..9fbd856e6713 100644 --- a/include/net/sctp/sctp.h +++ b/include/net/sctp/sctp.h | |||
@@ -320,6 +320,19 @@ static inline sctp_assoc_t sctp_assoc2id(const struct sctp_association *asoc) | |||
320 | return asoc ? asoc->assoc_id : 0; | 320 | return asoc ? asoc->assoc_id : 0; |
321 | } | 321 | } |
322 | 322 | ||
323 | static inline enum sctp_sstat_state | ||
324 | sctp_assoc_to_state(const struct sctp_association *asoc) | ||
325 | { | ||
326 | /* SCTP's uapi always had SCTP_EMPTY(=0) as a dummy state, but we | ||
327 | * got rid of it in kernel space. Therefore SCTP_CLOSED et al | ||
328 | * start at =1 in user space, but actually as =0 in kernel space. | ||
329 | * Now that we can not break user space and SCTP_EMPTY is exposed | ||
330 | * there, we need to fix it up with an ugly offset not to break | ||
331 | * applications. :( | ||
332 | */ | ||
333 | return asoc->state + 1; | ||
334 | } | ||
335 | |||
323 | /* Look up the association by its id. */ | 336 | /* Look up the association by its id. */ |
324 | struct sctp_association *sctp_id2assoc(struct sock *sk, sctp_assoc_t id); | 337 | struct sctp_association *sctp_id2assoc(struct sock *sk, sctp_assoc_t id); |
325 | 338 | ||
diff --git a/include/net/sock.h b/include/net/sock.h index 7f2ab72f321a..b9a5bd0ed9f3 100644 --- a/include/net/sock.h +++ b/include/net/sock.h | |||
@@ -2165,9 +2165,7 @@ sock_recv_timestamp(struct msghdr *msg, struct sock *sk, struct sk_buff *skb) | |||
2165 | */ | 2165 | */ |
2166 | if (sock_flag(sk, SOCK_RCVTSTAMP) || | 2166 | if (sock_flag(sk, SOCK_RCVTSTAMP) || |
2167 | (sk->sk_tsflags & SOF_TIMESTAMPING_RX_SOFTWARE) || | 2167 | (sk->sk_tsflags & SOF_TIMESTAMPING_RX_SOFTWARE) || |
2168 | (kt.tv64 && | 2168 | (kt.tv64 && sk->sk_tsflags & SOF_TIMESTAMPING_SOFTWARE) || |
2169 | (sk->sk_tsflags & SOF_TIMESTAMPING_SOFTWARE || | ||
2170 | skb_shinfo(skb)->tx_flags & SKBTX_ANY_SW_TSTAMP)) || | ||
2171 | (hwtstamps->hwtstamp.tv64 && | 2169 | (hwtstamps->hwtstamp.tv64 && |
2172 | (sk->sk_tsflags & SOF_TIMESTAMPING_RAW_HARDWARE))) | 2170 | (sk->sk_tsflags & SOF_TIMESTAMPING_RAW_HARDWARE))) |
2173 | __sock_recv_timestamp(msg, sk, skb); | 2171 | __sock_recv_timestamp(msg, sk, skb); |
diff --git a/include/net/wimax.h b/include/net/wimax.h index e52ef5357e08..c52b68577cb0 100644 --- a/include/net/wimax.h +++ b/include/net/wimax.h | |||
@@ -290,7 +290,7 @@ struct wimax_dev; | |||
290 | * This operation has to be synchronous, and return only when the | 290 | * This operation has to be synchronous, and return only when the |
291 | * reset is complete. In case of having had to resort to bus/cold | 291 | * reset is complete. In case of having had to resort to bus/cold |
292 | * reset implying a device disconnection, the call is allowed to | 292 | * reset implying a device disconnection, the call is allowed to |
293 | * return inmediately. | 293 | * return immediately. |
294 | * NOTE: wimax_dev->mutex is NOT locked when this op is being | 294 | * NOTE: wimax_dev->mutex is NOT locked when this op is being |
295 | * called; however, wimax_dev->mutex_reset IS locked to ensure | 295 | * called; however, wimax_dev->mutex_reset IS locked to ensure |
296 | * serialization of calls to wimax_reset(). | 296 | * serialization of calls to wimax_reset(). |