diff options
Diffstat (limited to 'net/sched/sch_ingress.c')
-rw-r--r-- | net/sched/sch_ingress.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/net/sched/sch_ingress.c b/net/sched/sch_ingress.c index f6decbb56645..3f72d528273c 100644 --- a/net/sched/sch_ingress.c +++ b/net/sched/sch_ingress.c | |||
@@ -183,16 +183,16 @@ static void ingress_destroy(struct Qdisc *sch) | |||
183 | 183 | ||
184 | static int ingress_dump(struct Qdisc *sch, struct sk_buff *skb) | 184 | static int ingress_dump(struct Qdisc *sch, struct sk_buff *skb) |
185 | { | 185 | { |
186 | unsigned char *b = skb_tail_pointer(skb); | 186 | struct nlattr *nest; |
187 | struct nlattr *nla; | ||
188 | 187 | ||
189 | nla = (struct nlattr *)b; | 188 | nest = nla_nest_start(skb, TCA_OPTIONS); |
190 | NLA_PUT(skb, TCA_OPTIONS, 0, NULL); | 189 | if (nest == NULL) |
191 | nla->nla_len = skb_tail_pointer(skb) - b; | 190 | goto nla_put_failure; |
191 | nla_nest_end(skb, nest); | ||
192 | return skb->len; | 192 | return skb->len; |
193 | 193 | ||
194 | nla_put_failure: | 194 | nla_put_failure: |
195 | nlmsg_trim(skb, b); | 195 | nla_nest_cancel(skb, nest); |
196 | return -1; | 196 | return -1; |
197 | } | 197 | } |
198 | 198 | ||