diff options
Diffstat (limited to 'include/net')
| -rw-r--r-- | include/net/9p/9p.h | 1 | ||||
| -rw-r--r-- | include/net/9p/transport.h | 9 | ||||
| -rw-r--r-- | include/net/addrconf.h | 3 | ||||
| -rw-r--r-- | include/net/bluetooth/hci_core.h | 3 | ||||
| -rw-r--r-- | include/net/inet_timewait_sock.h | 3 | ||||
| -rw-r--r-- | include/net/ip6_route.h | 1 | ||||
| -rw-r--r-- | include/net/mac80211.h | 11 | ||||
| -rw-r--r-- | include/net/netlink.h | 2 | ||||
| -rw-r--r-- | include/net/pkt_sched.h | 1 | ||||
| -rw-r--r-- | include/net/sch_generic.h | 19 | ||||
| -rw-r--r-- | include/net/sctp/sm.h | 3 |
11 files changed, 40 insertions, 16 deletions
diff --git a/include/net/9p/9p.h b/include/net/9p/9p.h index b3d3e27c6299..c3626c0ba9d3 100644 --- a/include/net/9p/9p.h +++ b/include/net/9p/9p.h | |||
| @@ -596,4 +596,5 @@ int p9_idpool_check(int id, struct p9_idpool *p); | |||
| 596 | int p9_error_init(void); | 596 | int p9_error_init(void); |
| 597 | int p9_errstr2errno(char *, int); | 597 | int p9_errstr2errno(char *, int); |
| 598 | int p9_trans_fd_init(void); | 598 | int p9_trans_fd_init(void); |
| 599 | void p9_trans_fd_exit(void); | ||
| 599 | #endif /* NET_9P_H */ | 600 | #endif /* NET_9P_H */ |
diff --git a/include/net/9p/transport.h b/include/net/9p/transport.h index 0db3a4038dc0..3ca737120a90 100644 --- a/include/net/9p/transport.h +++ b/include/net/9p/transport.h | |||
| @@ -26,6 +26,8 @@ | |||
| 26 | #ifndef NET_9P_TRANSPORT_H | 26 | #ifndef NET_9P_TRANSPORT_H |
| 27 | #define NET_9P_TRANSPORT_H | 27 | #define NET_9P_TRANSPORT_H |
| 28 | 28 | ||
| 29 | #include <linux/module.h> | ||
| 30 | |||
| 29 | /** | 31 | /** |
| 30 | * enum p9_trans_status - different states of underlying transports | 32 | * enum p9_trans_status - different states of underlying transports |
| 31 | * @Connected: transport is connected and healthy | 33 | * @Connected: transport is connected and healthy |
| @@ -91,9 +93,12 @@ struct p9_trans_module { | |||
| 91 | int maxsize; /* max message size of transport */ | 93 | int maxsize; /* max message size of transport */ |
| 92 | int def; /* this transport should be default */ | 94 | int def; /* this transport should be default */ |
| 93 | struct p9_trans * (*create)(const char *, char *, int, unsigned char); | 95 | struct p9_trans * (*create)(const char *, char *, int, unsigned char); |
| 96 | struct module *owner; | ||
| 94 | }; | 97 | }; |
| 95 | 98 | ||
| 96 | void v9fs_register_trans(struct p9_trans_module *m); | 99 | void v9fs_register_trans(struct p9_trans_module *m); |
| 97 | struct p9_trans_module *v9fs_match_trans(const substring_t *name); | 100 | void v9fs_unregister_trans(struct p9_trans_module *m); |
| 98 | struct p9_trans_module *v9fs_default_trans(void); | 101 | struct p9_trans_module *v9fs_get_trans_by_name(const substring_t *name); |
| 102 | struct p9_trans_module *v9fs_get_default_trans(void); | ||
| 103 | void v9fs_put_trans(struct p9_trans_module *m); | ||
| 99 | #endif /* NET_9P_TRANSPORT_H */ | 104 | #endif /* NET_9P_TRANSPORT_H */ |
diff --git a/include/net/addrconf.h b/include/net/addrconf.h index 06b28142b3ab..c216de528b08 100644 --- a/include/net/addrconf.h +++ b/include/net/addrconf.h | |||
| @@ -80,7 +80,8 @@ extern struct inet6_ifaddr *ipv6_get_ifaddr(struct net *net, | |||
| 80 | struct net_device *dev, | 80 | struct net_device *dev, |
| 81 | int strict); | 81 | int strict); |
| 82 | 82 | ||
| 83 | extern int ipv6_dev_get_saddr(struct net_device *dev, | 83 | extern int ipv6_dev_get_saddr(struct net *net, |
| 84 | struct net_device *dev, | ||
| 84 | const struct in6_addr *daddr, | 85 | const struct in6_addr *daddr, |
| 85 | unsigned int srcprefs, | 86 | unsigned int srcprefs, |
| 86 | struct in6_addr *saddr); | 87 | struct in6_addr *saddr); |
diff --git a/include/net/bluetooth/hci_core.h b/include/net/bluetooth/hci_core.h index cbf751094688..46a43b721dd6 100644 --- a/include/net/bluetooth/hci_core.h +++ b/include/net/bluetooth/hci_core.h | |||
| @@ -325,7 +325,8 @@ int hci_conn_del(struct hci_conn *conn); | |||
| 325 | void hci_conn_hash_flush(struct hci_dev *hdev); | 325 | void hci_conn_hash_flush(struct hci_dev *hdev); |
| 326 | void hci_conn_check_pending(struct hci_dev *hdev); | 326 | void hci_conn_check_pending(struct hci_dev *hdev); |
| 327 | 327 | ||
| 328 | struct hci_conn *hci_connect(struct hci_dev *hdev, int type, bdaddr_t *src); | 328 | struct hci_conn *hci_connect(struct hci_dev *hdev, int type, bdaddr_t *dst, __u8 auth_type); |
| 329 | int hci_conn_check_link_mode(struct hci_conn *conn); | ||
| 329 | int hci_conn_auth(struct hci_conn *conn); | 330 | int hci_conn_auth(struct hci_conn *conn); |
| 330 | int hci_conn_encrypt(struct hci_conn *conn); | 331 | int hci_conn_encrypt(struct hci_conn *conn); |
| 331 | int hci_conn_change_link_key(struct hci_conn *conn); | 332 | int hci_conn_change_link_key(struct hci_conn *conn); |
diff --git a/include/net/inet_timewait_sock.h b/include/net/inet_timewait_sock.h index 95c660c9719b..91324908fccd 100644 --- a/include/net/inet_timewait_sock.h +++ b/include/net/inet_timewait_sock.h | |||
| @@ -208,6 +208,9 @@ extern void inet_twsk_schedule(struct inet_timewait_sock *tw, | |||
| 208 | extern void inet_twsk_deschedule(struct inet_timewait_sock *tw, | 208 | extern void inet_twsk_deschedule(struct inet_timewait_sock *tw, |
| 209 | struct inet_timewait_death_row *twdr); | 209 | struct inet_timewait_death_row *twdr); |
| 210 | 210 | ||
| 211 | extern void inet_twsk_purge(struct net *net, struct inet_hashinfo *hashinfo, | ||
| 212 | struct inet_timewait_death_row *twdr, int family); | ||
| 213 | |||
| 211 | static inline | 214 | static inline |
| 212 | struct net *twsk_net(const struct inet_timewait_sock *twsk) | 215 | struct net *twsk_net(const struct inet_timewait_sock *twsk) |
| 213 | { | 216 | { |
diff --git a/include/net/ip6_route.h b/include/net/ip6_route.h index bc391ba101e9..5f53db7e4e57 100644 --- a/include/net/ip6_route.h +++ b/include/net/ip6_route.h | |||
| @@ -107,6 +107,7 @@ struct rt6_rtnl_dump_arg | |||
| 107 | { | 107 | { |
| 108 | struct sk_buff *skb; | 108 | struct sk_buff *skb; |
| 109 | struct netlink_callback *cb; | 109 | struct netlink_callback *cb; |
| 110 | struct net *net; | ||
| 110 | }; | 111 | }; |
| 111 | 112 | ||
| 112 | extern int rt6_dump_route(struct rt6_info *rt, void *p_arg); | 113 | extern int rt6_dump_route(struct rt6_info *rt, void *p_arg); |
diff --git a/include/net/mac80211.h b/include/net/mac80211.h index b397e4d984c7..ff137fd7714f 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h | |||
| @@ -708,10 +708,7 @@ enum ieee80211_tkip_key_type { | |||
| 708 | * rely on the host system for such buffering. This option is used | 708 | * rely on the host system for such buffering. This option is used |
| 709 | * to configure the IEEE 802.11 upper layer to buffer broadcast and | 709 | * to configure the IEEE 802.11 upper layer to buffer broadcast and |
| 710 | * multicast frames when there are power saving stations so that | 710 | * multicast frames when there are power saving stations so that |
| 711 | * the driver can fetch them with ieee80211_get_buffered_bc(). Note | 711 | * the driver can fetch them with ieee80211_get_buffered_bc(). |
| 712 | * that not setting this flag works properly only when the | ||
| 713 | * %IEEE80211_HW_HOST_GEN_BEACON_TEMPLATE is also not set because | ||
| 714 | * otherwise the stack will not know when the DTIM beacon was sent. | ||
| 715 | * | 712 | * |
| 716 | * @IEEE80211_HW_2GHZ_SHORT_SLOT_INCAPABLE: | 713 | * @IEEE80211_HW_2GHZ_SHORT_SLOT_INCAPABLE: |
| 717 | * Hardware is not capable of short slot operation on the 2.4 GHz band. | 714 | * Hardware is not capable of short slot operation on the 2.4 GHz band. |
| @@ -1099,10 +1096,8 @@ enum ieee80211_ampdu_mlme_action { | |||
| 1099 | * See the section "Frame filtering" for more information. | 1096 | * See the section "Frame filtering" for more information. |
| 1100 | * This callback must be implemented and atomic. | 1097 | * This callback must be implemented and atomic. |
| 1101 | * | 1098 | * |
| 1102 | * @set_tim: Set TIM bit. If the hardware/firmware takes care of beacon | 1099 | * @set_tim: Set TIM bit. mac80211 calls this function when a TIM bit |
| 1103 | * generation (that is, %IEEE80211_HW_HOST_GEN_BEACON_TEMPLATE is set) | 1100 | * must be set or cleared for a given AID. Must be atomic. |
| 1104 | * mac80211 calls this function when a TIM bit must be set or cleared | ||
| 1105 | * for a given AID. Must be atomic. | ||
| 1106 | * | 1101 | * |
| 1107 | * @set_key: See the section "Hardware crypto acceleration" | 1102 | * @set_key: See the section "Hardware crypto acceleration" |
| 1108 | * This callback can sleep, and is only called between add_interface | 1103 | * This callback can sleep, and is only called between add_interface |
diff --git a/include/net/netlink.h b/include/net/netlink.h index 18024b8cecb8..208fe5a38546 100644 --- a/include/net/netlink.h +++ b/include/net/netlink.h | |||
| @@ -702,7 +702,7 @@ static inline int nla_len(const struct nlattr *nla) | |||
| 702 | */ | 702 | */ |
| 703 | static inline int nla_ok(const struct nlattr *nla, int remaining) | 703 | static inline int nla_ok(const struct nlattr *nla, int remaining) |
| 704 | { | 704 | { |
| 705 | return remaining >= sizeof(*nla) && | 705 | return remaining >= (int) sizeof(*nla) && |
| 706 | nla->nla_len >= sizeof(*nla) && | 706 | nla->nla_len >= sizeof(*nla) && |
| 707 | nla->nla_len <= remaining; | 707 | nla->nla_len <= remaining; |
| 708 | } | 708 | } |
diff --git a/include/net/pkt_sched.h b/include/net/pkt_sched.h index 853fe83d9f37..b786a5b09253 100644 --- a/include/net/pkt_sched.h +++ b/include/net/pkt_sched.h | |||
| @@ -78,6 +78,7 @@ extern struct Qdisc *fifo_create_dflt(struct Qdisc *sch, struct Qdisc_ops *ops, | |||
| 78 | 78 | ||
| 79 | extern int register_qdisc(struct Qdisc_ops *qops); | 79 | extern int register_qdisc(struct Qdisc_ops *qops); |
| 80 | extern int unregister_qdisc(struct Qdisc_ops *qops); | 80 | extern int unregister_qdisc(struct Qdisc_ops *qops); |
| 81 | extern void qdisc_list_del(struct Qdisc *q); | ||
| 81 | extern struct Qdisc *qdisc_lookup(struct net_device *dev, u32 handle); | 82 | extern struct Qdisc *qdisc_lookup(struct net_device *dev, u32 handle); |
| 82 | extern struct Qdisc *qdisc_lookup_class(struct net_device *dev, u32 handle); | 83 | extern struct Qdisc *qdisc_lookup_class(struct net_device *dev, u32 handle); |
| 83 | extern struct qdisc_rate_table *qdisc_get_rtab(struct tc_ratespec *r, | 84 | extern struct qdisc_rate_table *qdisc_get_rtab(struct tc_ratespec *r, |
diff --git a/include/net/sch_generic.h b/include/net/sch_generic.h index a7abfda3e447..e5569625d2a5 100644 --- a/include/net/sch_generic.h +++ b/include/net/sch_generic.h | |||
| @@ -27,6 +27,7 @@ enum qdisc_state_t | |||
| 27 | { | 27 | { |
| 28 | __QDISC_STATE_RUNNING, | 28 | __QDISC_STATE_RUNNING, |
| 29 | __QDISC_STATE_SCHED, | 29 | __QDISC_STATE_SCHED, |
| 30 | __QDISC_STATE_DEACTIVATED, | ||
| 30 | }; | 31 | }; |
| 31 | 32 | ||
| 32 | struct qdisc_size_table { | 33 | struct qdisc_size_table { |
| @@ -60,7 +61,6 @@ struct Qdisc | |||
| 60 | struct gnet_stats_basic bstats; | 61 | struct gnet_stats_basic bstats; |
| 61 | struct gnet_stats_queue qstats; | 62 | struct gnet_stats_queue qstats; |
| 62 | struct gnet_stats_rate_est rate_est; | 63 | struct gnet_stats_rate_est rate_est; |
| 63 | struct rcu_head q_rcu; | ||
| 64 | int (*reshape_fail)(struct sk_buff *skb, | 64 | int (*reshape_fail)(struct sk_buff *skb, |
| 65 | struct Qdisc *q); | 65 | struct Qdisc *q); |
| 66 | 66 | ||
| @@ -193,6 +193,11 @@ static inline struct Qdisc *qdisc_root(struct Qdisc *qdisc) | |||
| 193 | return qdisc->dev_queue->qdisc; | 193 | return qdisc->dev_queue->qdisc; |
| 194 | } | 194 | } |
| 195 | 195 | ||
| 196 | static inline struct Qdisc *qdisc_root_sleeping(struct Qdisc *qdisc) | ||
| 197 | { | ||
| 198 | return qdisc->dev_queue->qdisc_sleeping; | ||
| 199 | } | ||
| 200 | |||
| 196 | /* The qdisc root lock is a mechanism by which to top level | 201 | /* The qdisc root lock is a mechanism by which to top level |
| 197 | * of a qdisc tree can be locked from any qdisc node in the | 202 | * of a qdisc tree can be locked from any qdisc node in the |
| 198 | * forest. This allows changing the configuration of some | 203 | * forest. This allows changing the configuration of some |
| @@ -212,6 +217,14 @@ static inline spinlock_t *qdisc_root_lock(struct Qdisc *qdisc) | |||
| 212 | return qdisc_lock(root); | 217 | return qdisc_lock(root); |
| 213 | } | 218 | } |
| 214 | 219 | ||
| 220 | static inline spinlock_t *qdisc_root_sleeping_lock(struct Qdisc *qdisc) | ||
| 221 | { | ||
| 222 | struct Qdisc *root = qdisc_root_sleeping(qdisc); | ||
| 223 | |||
| 224 | ASSERT_RTNL(); | ||
| 225 | return qdisc_lock(root); | ||
| 226 | } | ||
| 227 | |||
| 215 | static inline struct net_device *qdisc_dev(struct Qdisc *qdisc) | 228 | static inline struct net_device *qdisc_dev(struct Qdisc *qdisc) |
| 216 | { | 229 | { |
| 217 | return qdisc->dev_queue->dev; | 230 | return qdisc->dev_queue->dev; |
| @@ -219,12 +232,12 @@ static inline struct net_device *qdisc_dev(struct Qdisc *qdisc) | |||
| 219 | 232 | ||
| 220 | static inline void sch_tree_lock(struct Qdisc *q) | 233 | static inline void sch_tree_lock(struct Qdisc *q) |
| 221 | { | 234 | { |
| 222 | spin_lock_bh(qdisc_root_lock(q)); | 235 | spin_lock_bh(qdisc_root_sleeping_lock(q)); |
| 223 | } | 236 | } |
| 224 | 237 | ||
| 225 | static inline void sch_tree_unlock(struct Qdisc *q) | 238 | static inline void sch_tree_unlock(struct Qdisc *q) |
| 226 | { | 239 | { |
| 227 | spin_unlock_bh(qdisc_root_lock(q)); | 240 | spin_unlock_bh(qdisc_root_sleeping_lock(q)); |
| 228 | } | 241 | } |
| 229 | 242 | ||
| 230 | #define tcf_tree_lock(tp) sch_tree_lock((tp)->q) | 243 | #define tcf_tree_lock(tp) sch_tree_lock((tp)->q) |
diff --git a/include/net/sctp/sm.h b/include/net/sctp/sm.h index 24811732bdb2..029a54a02396 100644 --- a/include/net/sctp/sm.h +++ b/include/net/sctp/sm.h | |||
| @@ -227,6 +227,9 @@ struct sctp_chunk *sctp_make_abort_violation(const struct sctp_association *, | |||
| 227 | const struct sctp_chunk *, | 227 | const struct sctp_chunk *, |
| 228 | const __u8 *, | 228 | const __u8 *, |
| 229 | const size_t ); | 229 | const size_t ); |
| 230 | struct sctp_chunk *sctp_make_violation_paramlen(const struct sctp_association *, | ||
| 231 | const struct sctp_chunk *, | ||
| 232 | struct sctp_paramhdr *); | ||
| 230 | struct sctp_chunk *sctp_make_heartbeat(const struct sctp_association *, | 233 | struct sctp_chunk *sctp_make_heartbeat(const struct sctp_association *, |
| 231 | const struct sctp_transport *, | 234 | const struct sctp_transport *, |
| 232 | const void *payload, | 235 | const void *payload, |
