diff options
Diffstat (limited to 'include/net')
| -rw-r--r-- | include/net/bluetooth/hci.h | 6 | ||||
| -rw-r--r-- | include/net/inetpeer.h | 5 | ||||
| -rw-r--r-- | include/net/ip_vs.h | 2 | ||||
| -rw-r--r-- | include/net/mac80211.h | 6 | ||||
| -rw-r--r-- | include/net/netfilter/nf_conntrack_ecache.h | 2 | ||||
| -rw-r--r-- | include/net/phonet/gprs.h | 2 | ||||
| -rw-r--r-- | include/net/route.h | 2 | ||||
| -rw-r--r-- | include/net/sch_generic.h | 7 | ||||
| -rw-r--r-- | include/net/sctp/structs.h | 4 | ||||
| -rw-r--r-- | include/net/sctp/tsnmap.h | 3 |
10 files changed, 31 insertions, 8 deletions
diff --git a/include/net/bluetooth/hci.h b/include/net/bluetooth/hci.h index 66a7b579e31c..3def64ba77fa 100644 --- a/include/net/bluetooth/hci.h +++ b/include/net/bluetooth/hci.h | |||
| @@ -1144,6 +1144,12 @@ struct extended_inquiry_info { | |||
| 1144 | __u8 data[240]; | 1144 | __u8 data[240]; |
| 1145 | } __packed; | 1145 | } __packed; |
| 1146 | 1146 | ||
| 1147 | #define HCI_EV_KEY_REFRESH_COMPLETE 0x30 | ||
| 1148 | struct hci_ev_key_refresh_complete { | ||
| 1149 | __u8 status; | ||
| 1150 | __le16 handle; | ||
| 1151 | } __packed; | ||
| 1152 | |||
| 1147 | #define HCI_EV_IO_CAPA_REQUEST 0x31 | 1153 | #define HCI_EV_IO_CAPA_REQUEST 0x31 |
| 1148 | struct hci_ev_io_capa_request { | 1154 | struct hci_ev_io_capa_request { |
| 1149 | bdaddr_t bdaddr; | 1155 | bdaddr_t bdaddr; |
diff --git a/include/net/inetpeer.h b/include/net/inetpeer.h index b94765e38e80..2040bff945d4 100644 --- a/include/net/inetpeer.h +++ b/include/net/inetpeer.h | |||
| @@ -40,7 +40,10 @@ struct inet_peer { | |||
| 40 | u32 pmtu_orig; | 40 | u32 pmtu_orig; |
| 41 | u32 pmtu_learned; | 41 | u32 pmtu_learned; |
| 42 | struct inetpeer_addr_base redirect_learned; | 42 | struct inetpeer_addr_base redirect_learned; |
| 43 | struct list_head gc_list; | 43 | union { |
| 44 | struct list_head gc_list; | ||
| 45 | struct rcu_head gc_rcu; | ||
| 46 | }; | ||
| 44 | /* | 47 | /* |
| 45 | * Once inet_peer is queued for deletion (refcnt == -1), following fields | 48 | * Once inet_peer is queued for deletion (refcnt == -1), following fields |
| 46 | * are not available: rid, ip_id_count, tcp_ts, tcp_ts_stamp | 49 | * are not available: rid, ip_id_count, tcp_ts, tcp_ts_stamp |
diff --git a/include/net/ip_vs.h b/include/net/ip_vs.h index d6146b4811c2..95374d1696a1 100644 --- a/include/net/ip_vs.h +++ b/include/net/ip_vs.h | |||
| @@ -1425,7 +1425,7 @@ static inline void ip_vs_notrack(struct sk_buff *skb) | |||
| 1425 | struct nf_conn *ct = nf_ct_get(skb, &ctinfo); | 1425 | struct nf_conn *ct = nf_ct_get(skb, &ctinfo); |
| 1426 | 1426 | ||
| 1427 | if (!ct || !nf_ct_is_untracked(ct)) { | 1427 | if (!ct || !nf_ct_is_untracked(ct)) { |
| 1428 | nf_reset(skb); | 1428 | nf_conntrack_put(skb->nfct); |
| 1429 | skb->nfct = &nf_ct_untracked_get()->ct_general; | 1429 | skb->nfct = &nf_ct_untracked_get()->ct_general; |
| 1430 | skb->nfctinfo = IP_CT_NEW; | 1430 | skb->nfctinfo = IP_CT_NEW; |
| 1431 | nf_conntrack_get(skb->nfct); | 1431 | nf_conntrack_get(skb->nfct); |
diff --git a/include/net/mac80211.h b/include/net/mac80211.h index 1937c7d98304..95e39b6a02ec 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h | |||
| @@ -1940,6 +1940,11 @@ enum ieee80211_rate_control_changed { | |||
| 1940 | * to also unregister the device. If it returns 1, then mac80211 | 1940 | * to also unregister the device. If it returns 1, then mac80211 |
| 1941 | * will also go through the regular complete restart on resume. | 1941 | * will also go through the regular complete restart on resume. |
| 1942 | * | 1942 | * |
| 1943 | * @set_wakeup: Enable or disable wakeup when WoWLAN configuration is | ||
| 1944 | * modified. The reason is that device_set_wakeup_enable() is | ||
| 1945 | * supposed to be called when the configuration changes, not only | ||
| 1946 | * in suspend(). | ||
| 1947 | * | ||
| 1943 | * @add_interface: Called when a netdevice attached to the hardware is | 1948 | * @add_interface: Called when a netdevice attached to the hardware is |
| 1944 | * enabled. Because it is not called for monitor mode devices, @start | 1949 | * enabled. Because it is not called for monitor mode devices, @start |
| 1945 | * and @stop must be implemented. | 1950 | * and @stop must be implemented. |
| @@ -2966,6 +2971,7 @@ __le16 ieee80211_ctstoself_duration(struct ieee80211_hw *hw, | |||
| 2966 | * ieee80211_generic_frame_duration - Calculate the duration field for a frame | 2971 | * ieee80211_generic_frame_duration - Calculate the duration field for a frame |
| 2967 | * @hw: pointer obtained from ieee80211_alloc_hw(). | 2972 | * @hw: pointer obtained from ieee80211_alloc_hw(). |
| 2968 | * @vif: &struct ieee80211_vif pointer from the add_interface callback. | 2973 | * @vif: &struct ieee80211_vif pointer from the add_interface callback. |
| 2974 | * @band: the band to calculate the frame duration on | ||
| 2969 | * @frame_len: the length of the frame. | 2975 | * @frame_len: the length of the frame. |
| 2970 | * @rate: the rate at which the frame is going to be transmitted. | 2976 | * @rate: the rate at which the frame is going to be transmitted. |
| 2971 | * | 2977 | * |
diff --git a/include/net/netfilter/nf_conntrack_ecache.h b/include/net/netfilter/nf_conntrack_ecache.h index a88fb6939387..e1ce1048fe5f 100644 --- a/include/net/netfilter/nf_conntrack_ecache.h +++ b/include/net/netfilter/nf_conntrack_ecache.h | |||
| @@ -78,7 +78,7 @@ nf_conntrack_event_cache(enum ip_conntrack_events event, struct nf_conn *ct) | |||
| 78 | struct net *net = nf_ct_net(ct); | 78 | struct net *net = nf_ct_net(ct); |
| 79 | struct nf_conntrack_ecache *e; | 79 | struct nf_conntrack_ecache *e; |
| 80 | 80 | ||
| 81 | if (net->ct.nf_conntrack_event_cb == NULL) | 81 | if (!rcu_access_pointer(net->ct.nf_conntrack_event_cb)) |
| 82 | return; | 82 | return; |
| 83 | 83 | ||
| 84 | e = nf_ct_ecache_find(ct); | 84 | e = nf_ct_ecache_find(ct); |
diff --git a/include/net/phonet/gprs.h b/include/net/phonet/gprs.h index 928daf595beb..bcd525e39a0b 100644 --- a/include/net/phonet/gprs.h +++ b/include/net/phonet/gprs.h | |||
| @@ -5,7 +5,7 @@ | |||
| 5 | * | 5 | * |
| 6 | * Copyright (C) 2008 Nokia Corporation. | 6 | * Copyright (C) 2008 Nokia Corporation. |
| 7 | * | 7 | * |
| 8 | * Author: Rémi Denis-Courmont <remi.denis-courmont@nokia.com> | 8 | * Author: Rémi Denis-Courmont |
| 9 | * | 9 | * |
| 10 | * This program is free software; you can redistribute it and/or | 10 | * This program is free software; you can redistribute it and/or |
| 11 | * modify it under the terms of the GNU General Public License | 11 | * modify it under the terms of the GNU General Public License |
diff --git a/include/net/route.h b/include/net/route.h index ed2b78e2375d..98705468ac03 100644 --- a/include/net/route.h +++ b/include/net/route.h | |||
| @@ -130,9 +130,9 @@ static inline struct rtable *ip_route_output(struct net *net, __be32 daddr, | |||
| 130 | { | 130 | { |
| 131 | struct flowi4 fl4 = { | 131 | struct flowi4 fl4 = { |
| 132 | .flowi4_oif = oif, | 132 | .flowi4_oif = oif, |
| 133 | .flowi4_tos = tos, | ||
| 133 | .daddr = daddr, | 134 | .daddr = daddr, |
| 134 | .saddr = saddr, | 135 | .saddr = saddr, |
| 135 | .flowi4_tos = tos, | ||
| 136 | }; | 136 | }; |
| 137 | return ip_route_output_key(net, &fl4); | 137 | return ip_route_output_key(net, &fl4); |
| 138 | } | 138 | } |
diff --git a/include/net/sch_generic.h b/include/net/sch_generic.h index 55ce96b53b09..9d7d54a00e63 100644 --- a/include/net/sch_generic.h +++ b/include/net/sch_generic.h | |||
| @@ -220,13 +220,16 @@ struct tcf_proto { | |||
| 220 | 220 | ||
| 221 | struct qdisc_skb_cb { | 221 | struct qdisc_skb_cb { |
| 222 | unsigned int pkt_len; | 222 | unsigned int pkt_len; |
| 223 | unsigned char data[24]; | 223 | u16 bond_queue_mapping; |
| 224 | u16 _pad; | ||
| 225 | unsigned char data[20]; | ||
| 224 | }; | 226 | }; |
| 225 | 227 | ||
| 226 | static inline void qdisc_cb_private_validate(const struct sk_buff *skb, int sz) | 228 | static inline void qdisc_cb_private_validate(const struct sk_buff *skb, int sz) |
| 227 | { | 229 | { |
| 228 | struct qdisc_skb_cb *qcb; | 230 | struct qdisc_skb_cb *qcb; |
| 229 | BUILD_BUG_ON(sizeof(skb->cb) < sizeof(unsigned int) + sz); | 231 | |
| 232 | BUILD_BUG_ON(sizeof(skb->cb) < offsetof(struct qdisc_skb_cb, data) + sz); | ||
| 230 | BUILD_BUG_ON(sizeof(qcb->data) < sz); | 233 | BUILD_BUG_ON(sizeof(qcb->data) < sz); |
| 231 | } | 234 | } |
| 232 | 235 | ||
diff --git a/include/net/sctp/structs.h b/include/net/sctp/structs.h index e4652fe58958..fecdf31816f2 100644 --- a/include/net/sctp/structs.h +++ b/include/net/sctp/structs.h | |||
| @@ -912,6 +912,9 @@ struct sctp_transport { | |||
| 912 | /* Is this structure kfree()able? */ | 912 | /* Is this structure kfree()able? */ |
| 913 | malloced:1; | 913 | malloced:1; |
| 914 | 914 | ||
| 915 | /* Has this transport moved the ctsn since we last sacked */ | ||
| 916 | __u32 sack_generation; | ||
| 917 | |||
| 915 | struct flowi fl; | 918 | struct flowi fl; |
| 916 | 919 | ||
| 917 | /* This is the peer's IP address and port. */ | 920 | /* This is the peer's IP address and port. */ |
| @@ -1584,6 +1587,7 @@ struct sctp_association { | |||
| 1584 | */ | 1587 | */ |
| 1585 | __u8 sack_needed; /* Do we need to sack the peer? */ | 1588 | __u8 sack_needed; /* Do we need to sack the peer? */ |
| 1586 | __u32 sack_cnt; | 1589 | __u32 sack_cnt; |
| 1590 | __u32 sack_generation; | ||
| 1587 | 1591 | ||
| 1588 | /* These are capabilities which our peer advertised. */ | 1592 | /* These are capabilities which our peer advertised. */ |
| 1589 | __u8 ecn_capable:1, /* Can peer do ECN? */ | 1593 | __u8 ecn_capable:1, /* Can peer do ECN? */ |
diff --git a/include/net/sctp/tsnmap.h b/include/net/sctp/tsnmap.h index e7728bc14ccf..2c5d2b4d5d1e 100644 --- a/include/net/sctp/tsnmap.h +++ b/include/net/sctp/tsnmap.h | |||
| @@ -117,7 +117,8 @@ void sctp_tsnmap_free(struct sctp_tsnmap *map); | |||
| 117 | int sctp_tsnmap_check(const struct sctp_tsnmap *, __u32 tsn); | 117 | int sctp_tsnmap_check(const struct sctp_tsnmap *, __u32 tsn); |
| 118 | 118 | ||
| 119 | /* Mark this TSN as seen. */ | 119 | /* Mark this TSN as seen. */ |
| 120 | int sctp_tsnmap_mark(struct sctp_tsnmap *, __u32 tsn); | 120 | int sctp_tsnmap_mark(struct sctp_tsnmap *, __u32 tsn, |
| 121 | struct sctp_transport *trans); | ||
| 121 | 122 | ||
| 122 | /* Mark this TSN and all lower as seen. */ | 123 | /* Mark this TSN and all lower as seen. */ |
| 123 | void sctp_tsnmap_skip(struct sctp_tsnmap *map, __u32 tsn); | 124 | void sctp_tsnmap_skip(struct sctp_tsnmap *map, __u32 tsn); |
