aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/net/sch_generic.h2
-rw-r--r--net/sched/cls_api.c11
-rw-r--r--net/sched/cls_basic.c2
-rw-r--r--net/sched/cls_bpf.c2
-rw-r--r--net/sched/cls_cgroup.c2
-rw-r--r--net/sched/cls_flow.c2
-rw-r--r--net/sched/cls_fw.c2
-rw-r--r--net/sched/cls_route.c2
-rw-r--r--net/sched/cls_rsvp.h2
-rw-r--r--net/sched/cls_tcindex.c2
-rw-r--r--net/sched/cls_u32.c2
11 files changed, 16 insertions, 15 deletions
diff --git a/include/net/sch_generic.h b/include/net/sch_generic.h
index 013d96dc6918..d062f81c692f 100644
--- a/include/net/sch_generic.h
+++ b/include/net/sch_generic.h
@@ -204,7 +204,7 @@ struct tcf_proto_ops {
204 void (*walk)(struct tcf_proto*, struct tcf_walker *arg); 204 void (*walk)(struct tcf_proto*, struct tcf_walker *arg);
205 205
206 /* rtnetlink specific */ 206 /* rtnetlink specific */
207 int (*dump)(struct tcf_proto*, unsigned long, 207 int (*dump)(struct net*, struct tcf_proto*, unsigned long,
208 struct sk_buff *skb, struct tcmsg*); 208 struct sk_buff *skb, struct tcmsg*);
209 209
210 struct module *owner; 210 struct module *owner;
diff --git a/net/sched/cls_api.c b/net/sched/cls_api.c
index d8c42b1b88e5..29a30a14c315 100644
--- a/net/sched/cls_api.c
+++ b/net/sched/cls_api.c
@@ -340,7 +340,7 @@ errout:
340 return err; 340 return err;
341} 341}
342 342
343static int tcf_fill_node(struct sk_buff *skb, struct tcf_proto *tp, 343static int tcf_fill_node(struct net *net, struct sk_buff *skb, struct tcf_proto *tp,
344 unsigned long fh, u32 portid, u32 seq, u16 flags, int event) 344 unsigned long fh, u32 portid, u32 seq, u16 flags, int event)
345{ 345{
346 struct tcmsg *tcm; 346 struct tcmsg *tcm;
@@ -362,7 +362,7 @@ static int tcf_fill_node(struct sk_buff *skb, struct tcf_proto *tp,
362 tcm->tcm_handle = fh; 362 tcm->tcm_handle = fh;
363 if (RTM_DELTFILTER != event) { 363 if (RTM_DELTFILTER != event) {
364 tcm->tcm_handle = 0; 364 tcm->tcm_handle = 0;
365 if (tp->ops->dump && tp->ops->dump(tp, fh, skb, tcm) < 0) 365 if (tp->ops->dump && tp->ops->dump(net, tp, fh, skb, tcm) < 0)
366 goto nla_put_failure; 366 goto nla_put_failure;
367 } 367 }
368 nlh->nlmsg_len = skb_tail_pointer(skb) - b; 368 nlh->nlmsg_len = skb_tail_pointer(skb) - b;
@@ -385,7 +385,7 @@ static int tfilter_notify(struct net *net, struct sk_buff *oskb,
385 if (!skb) 385 if (!skb)
386 return -ENOBUFS; 386 return -ENOBUFS;
387 387
388 if (tcf_fill_node(skb, tp, fh, portid, n->nlmsg_seq, 0, event) <= 0) { 388 if (tcf_fill_node(net, skb, tp, fh, portid, n->nlmsg_seq, 0, event) <= 0) {
389 kfree_skb(skb); 389 kfree_skb(skb);
390 return -EINVAL; 390 return -EINVAL;
391 } 391 }
@@ -404,8 +404,9 @@ static int tcf_node_dump(struct tcf_proto *tp, unsigned long n,
404 struct tcf_walker *arg) 404 struct tcf_walker *arg)
405{ 405{
406 struct tcf_dump_args *a = (void *)arg; 406 struct tcf_dump_args *a = (void *)arg;
407 struct net *net = sock_net(a->skb->sk);
407 408
408 return tcf_fill_node(a->skb, tp, n, NETLINK_CB(a->cb->skb).portid, 409 return tcf_fill_node(net, a->skb, tp, n, NETLINK_CB(a->cb->skb).portid,
409 a->cb->nlh->nlmsg_seq, NLM_F_MULTI, RTM_NEWTFILTER); 410 a->cb->nlh->nlmsg_seq, NLM_F_MULTI, RTM_NEWTFILTER);
410} 411}
411 412
@@ -463,7 +464,7 @@ static int tc_dump_tfilter(struct sk_buff *skb, struct netlink_callback *cb)
463 if (t > s_t) 464 if (t > s_t)
464 memset(&cb->args[1], 0, sizeof(cb->args)-sizeof(cb->args[0])); 465 memset(&cb->args[1], 0, sizeof(cb->args)-sizeof(cb->args[0]));
465 if (cb->args[1] == 0) { 466 if (cb->args[1] == 0) {
466 if (tcf_fill_node(skb, tp, 0, NETLINK_CB(cb->skb).portid, 467 if (tcf_fill_node(net, skb, tp, 0, NETLINK_CB(cb->skb).portid,
467 cb->nlh->nlmsg_seq, NLM_F_MULTI, 468 cb->nlh->nlmsg_seq, NLM_F_MULTI,
468 RTM_NEWTFILTER) <= 0) 469 RTM_NEWTFILTER) <= 0)
469 break; 470 break;
diff --git a/net/sched/cls_basic.c b/net/sched/cls_basic.c
index b6552035d1f4..af6bea1a6a54 100644
--- a/net/sched/cls_basic.c
+++ b/net/sched/cls_basic.c
@@ -241,7 +241,7 @@ skip:
241 } 241 }
242} 242}
243 243
244static int basic_dump(struct tcf_proto *tp, unsigned long fh, 244static int basic_dump(struct net *net, struct tcf_proto *tp, unsigned long fh,
245 struct sk_buff *skb, struct tcmsg *t) 245 struct sk_buff *skb, struct tcmsg *t)
246{ 246{
247 struct basic_filter *f = (struct basic_filter *) fh; 247 struct basic_filter *f = (struct basic_filter *) fh;
diff --git a/net/sched/cls_bpf.c b/net/sched/cls_bpf.c
index 00a5a585e5f1..8e3cf49118e3 100644
--- a/net/sched/cls_bpf.c
+++ b/net/sched/cls_bpf.c
@@ -295,7 +295,7 @@ errout:
295 return ret; 295 return ret;
296} 296}
297 297
298static int cls_bpf_dump(struct tcf_proto *tp, unsigned long fh, 298static int cls_bpf_dump(struct net *net, struct tcf_proto *tp, unsigned long fh,
299 struct sk_buff *skb, struct tcmsg *tm) 299 struct sk_buff *skb, struct tcmsg *tm)
300{ 300{
301 struct cls_bpf_prog *prog = (struct cls_bpf_prog *) fh; 301 struct cls_bpf_prog *prog = (struct cls_bpf_prog *) fh;
diff --git a/net/sched/cls_cgroup.c b/net/sched/cls_cgroup.c
index 8349fcdc50f3..8e2158ab551c 100644
--- a/net/sched/cls_cgroup.c
+++ b/net/sched/cls_cgroup.c
@@ -164,7 +164,7 @@ skip:
164 arg->count++; 164 arg->count++;
165} 165}
166 166
167static int cls_cgroup_dump(struct tcf_proto *tp, unsigned long fh, 167static int cls_cgroup_dump(struct net *net, struct tcf_proto *tp, unsigned long fh,
168 struct sk_buff *skb, struct tcmsg *t) 168 struct sk_buff *skb, struct tcmsg *t)
169{ 169{
170 struct cls_cgroup_head *head = tp->root; 170 struct cls_cgroup_head *head = tp->root;
diff --git a/net/sched/cls_flow.c b/net/sched/cls_flow.c
index dfd18a5c3e81..257029c54332 100644
--- a/net/sched/cls_flow.c
+++ b/net/sched/cls_flow.c
@@ -563,7 +563,7 @@ static void flow_put(struct tcf_proto *tp, unsigned long f)
563{ 563{
564} 564}
565 565
566static int flow_dump(struct tcf_proto *tp, unsigned long fh, 566static int flow_dump(struct net *net, struct tcf_proto *tp, unsigned long fh,
567 struct sk_buff *skb, struct tcmsg *t) 567 struct sk_buff *skb, struct tcmsg *t)
568{ 568{
569 struct flow_filter *f = (struct flow_filter *)fh; 569 struct flow_filter *f = (struct flow_filter *)fh;
diff --git a/net/sched/cls_fw.c b/net/sched/cls_fw.c
index 3f9cece13807..d605285af5bf 100644
--- a/net/sched/cls_fw.c
+++ b/net/sched/cls_fw.c
@@ -324,7 +324,7 @@ static void fw_walk(struct tcf_proto *tp, struct tcf_walker *arg)
324 } 324 }
325} 325}
326 326
327static int fw_dump(struct tcf_proto *tp, unsigned long fh, 327static int fw_dump(struct net *net, struct tcf_proto *tp, unsigned long fh,
328 struct sk_buff *skb, struct tcmsg *t) 328 struct sk_buff *skb, struct tcmsg *t)
329{ 329{
330 struct fw_head *head = (struct fw_head *)tp->root; 330 struct fw_head *head = (struct fw_head *)tp->root;
diff --git a/net/sched/cls_route.c b/net/sched/cls_route.c
index 2473953a5948..c9136136727b 100644
--- a/net/sched/cls_route.c
+++ b/net/sched/cls_route.c
@@ -551,7 +551,7 @@ static void route4_walk(struct tcf_proto *tp, struct tcf_walker *arg)
551 } 551 }
552} 552}
553 553
554static int route4_dump(struct tcf_proto *tp, unsigned long fh, 554static int route4_dump(struct net *net, struct tcf_proto *tp, unsigned long fh,
555 struct sk_buff *skb, struct tcmsg *t) 555 struct sk_buff *skb, struct tcmsg *t)
556{ 556{
557 struct route4_filter *f = (struct route4_filter *)fh; 557 struct route4_filter *f = (struct route4_filter *)fh;
diff --git a/net/sched/cls_rsvp.h b/net/sched/cls_rsvp.h
index 4f25c2ac825b..19f8e5dfa8bd 100644
--- a/net/sched/cls_rsvp.h
+++ b/net/sched/cls_rsvp.h
@@ -594,7 +594,7 @@ static void rsvp_walk(struct tcf_proto *tp, struct tcf_walker *arg)
594 } 594 }
595} 595}
596 596
597static int rsvp_dump(struct tcf_proto *tp, unsigned long fh, 597static int rsvp_dump(struct net *net, struct tcf_proto *tp, unsigned long fh,
598 struct sk_buff *skb, struct tcmsg *t) 598 struct sk_buff *skb, struct tcmsg *t)
599{ 599{
600 struct rsvp_filter *f = (struct rsvp_filter *)fh; 600 struct rsvp_filter *f = (struct rsvp_filter *)fh;
diff --git a/net/sched/cls_tcindex.c b/net/sched/cls_tcindex.c
index ffad18791c93..f57535354243 100644
--- a/net/sched/cls_tcindex.c
+++ b/net/sched/cls_tcindex.c
@@ -422,7 +422,7 @@ static void tcindex_destroy(struct tcf_proto *tp)
422} 422}
423 423
424 424
425static int tcindex_dump(struct tcf_proto *tp, unsigned long fh, 425static int tcindex_dump(struct net *net, struct tcf_proto *tp, unsigned long fh,
426 struct sk_buff *skb, struct tcmsg *t) 426 struct sk_buff *skb, struct tcmsg *t)
427{ 427{
428 struct tcindex_data *p = PRIV(tp); 428 struct tcindex_data *p = PRIV(tp);
diff --git a/net/sched/cls_u32.c b/net/sched/cls_u32.c
index 20f2fb79c747..e25411a80f9b 100644
--- a/net/sched/cls_u32.c
+++ b/net/sched/cls_u32.c
@@ -712,7 +712,7 @@ static void u32_walk(struct tcf_proto *tp, struct tcf_walker *arg)
712 } 712 }
713} 713}
714 714
715static int u32_dump(struct tcf_proto *tp, unsigned long fh, 715static int u32_dump(struct net *net, struct tcf_proto *tp, unsigned long fh,
716 struct sk_buff *skb, struct tcmsg *t) 716 struct sk_buff *skb, struct tcmsg *t)
717{ 717{
718 struct tc_u_knode *n = (struct tc_u_knode *)fh; 718 struct tc_u_knode *n = (struct tc_u_knode *)fh;