aboutsummaryrefslogtreecommitdiffstats
path: root/net/sched
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2012-02-06 15:14:37 -0500
committerLuis Henriques <luis.henriques@canonical.com>2012-03-26 05:26:37 -0400
commit8382f3221e3f84193d485b19cea7839dca04be71 (patch)
tree44bcdc22e3307130961b8f877d2e9146a339707c /net/sched
parent17fd8368e493ba11cec20bbf6201c4ffe6a22efb (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.c3
-rw-r--r--net/sched/sch_netem.c3
-rw-r--r--net/sched/sch_sfb.c3
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
226static inline struct choke_skb_cb *choke_skb_cb(const struct sk_buff *skb) 226static 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
118static inline struct netem_skb_cb *netem_skb_cb(struct sk_buff *skb) 118static 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
94static inline struct sfb_skb_cb *sfb_skb_cb(const struct sk_buff *skb) 94static 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