aboutsummaryrefslogtreecommitdiffstats
path: root/net/sched/sch_ingress.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/sched/sch_ingress.c')
-rw-r--r--net/sched/sch_ingress.c12
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
184static int ingress_dump(struct Qdisc *sch, struct sk_buff *skb) 184static 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
194nla_put_failure: 194nla_put_failure:
195 nlmsg_trim(skb, b); 195 nla_nest_cancel(skb, nest);
196 return -1; 196 return -1;
197} 197}
198 198