diff options
author | David S. Miller <davem@davemloft.net> | 2012-02-06 15:14:37 -0500 |
---|---|---|
committer | Luis Henriques <luis.henriques@canonical.com> | 2012-03-26 05:26:37 -0400 |
commit | 8382f3221e3f84193d485b19cea7839dca04be71 (patch) | |
tree | 44bcdc22e3307130961b8f877d2e9146a339707c /net/sched | |
parent | 17fd8368e493ba11cec20bbf6201c4ffe6a22efb (diff) |
net: Make qdisc_skb_cb upper size bound explicit.
BugLink: http://bugs.launchpad.net/bugs/954576
[ Upstream commit 16bda13d90c8d5da243e2cfa1677e62ecce26860 ]
Just like skb->cb[], so that qdisc_skb_cb can be encapsulated inside
of other data structures.
This is intended to be used by IPoIB so that it can remember
addressing information stored at hard_header_ops->create() time that
it can fetch when the packet gets to the transmit routine.
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'net/sched')
-rw-r--r-- | net/sched/sch_choke.c | 3 | ||||
-rw-r--r-- | net/sched/sch_netem.c | 3 | ||||
-rw-r--r-- | net/sched/sch_sfb.c | 3 |
3 files changed, 3 insertions, 6 deletions
diff --git a/net/sched/sch_choke.c b/net/sched/sch_choke.c index 06afbaeb4c8..178ee83175a 100644 --- a/net/sched/sch_choke.c +++ b/net/sched/sch_choke.c | |||
@@ -225,8 +225,7 @@ struct choke_skb_cb { | |||
225 | 225 | ||
226 | static inline struct choke_skb_cb *choke_skb_cb(const struct sk_buff *skb) | 226 | static inline struct choke_skb_cb *choke_skb_cb(const struct sk_buff *skb) |
227 | { | 227 | { |
228 | BUILD_BUG_ON(sizeof(skb->cb) < | 228 | qdisc_cb_private_validate(skb, sizeof(struct choke_skb_cb)); |
229 | sizeof(struct qdisc_skb_cb) + sizeof(struct choke_skb_cb)); | ||
230 | return (struct choke_skb_cb *)qdisc_skb_cb(skb)->data; | 229 | return (struct choke_skb_cb *)qdisc_skb_cb(skb)->data; |
231 | } | 230 | } |
232 | 231 | ||
diff --git a/net/sched/sch_netem.c b/net/sched/sch_netem.c index 69c35f6cd13..87b965811c2 100644 --- a/net/sched/sch_netem.c +++ b/net/sched/sch_netem.c | |||
@@ -117,8 +117,7 @@ struct netem_skb_cb { | |||
117 | 117 | ||
118 | static inline struct netem_skb_cb *netem_skb_cb(struct sk_buff *skb) | 118 | static inline struct netem_skb_cb *netem_skb_cb(struct sk_buff *skb) |
119 | { | 119 | { |
120 | BUILD_BUG_ON(sizeof(skb->cb) < | 120 | qdisc_cb_private_validate(skb, sizeof(struct netem_skb_cb)); |
121 | sizeof(struct qdisc_skb_cb) + sizeof(struct netem_skb_cb)); | ||
122 | return (struct netem_skb_cb *)qdisc_skb_cb(skb)->data; | 121 | return (struct netem_skb_cb *)qdisc_skb_cb(skb)->data; |
123 | } | 122 | } |
124 | 123 | ||
diff --git a/net/sched/sch_sfb.c b/net/sched/sch_sfb.c index 0a833d0c1f6..47ee29fad35 100644 --- a/net/sched/sch_sfb.c +++ b/net/sched/sch_sfb.c | |||
@@ -93,8 +93,7 @@ struct sfb_skb_cb { | |||
93 | 93 | ||
94 | static inline struct sfb_skb_cb *sfb_skb_cb(const struct sk_buff *skb) | 94 | static inline struct sfb_skb_cb *sfb_skb_cb(const struct sk_buff *skb) |
95 | { | 95 | { |
96 | BUILD_BUG_ON(sizeof(skb->cb) < | 96 | qdisc_cb_private_validate(skb, sizeof(struct sfb_skb_cb)); |
97 | sizeof(struct qdisc_skb_cb) + sizeof(struct sfb_skb_cb)); | ||
98 | return (struct sfb_skb_cb *)qdisc_skb_cb(skb)->data; | 97 | return (struct sfb_skb_cb *)qdisc_skb_cb(skb)->data; |
99 | } | 98 | } |
100 | 99 | ||