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(). |
