diff options
author | WANG Cong <xiyou.wangcong@gmail.com> | 2015-03-04 23:11:43 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-03-05 21:30:44 -0500 |
commit | a05c2d112c0c4a768bfad47c33f28a15f8cf1193 (patch) | |
tree | f5272d5f8d03a777ff541b8ff8575d5c085b6c81 /net/sched/cls_route.c | |
parent | 2490c65fe82bf09567dd057f3d76550a257e4039 (diff) |
net_sched: move tp->root allocation into route4_init()
Cc: Jamal Hadi Salim <jhs@mojatatu.com>
Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Acked-by: Jamal Hadi Salim <jhs@mojatatu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sched/cls_route.c')
-rw-r--r-- | net/sched/cls_route.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/net/sched/cls_route.c b/net/sched/cls_route.c index 2ecd24688554..bb8a60235d01 100644 --- a/net/sched/cls_route.c +++ b/net/sched/cls_route.c | |||
@@ -258,6 +258,13 @@ static unsigned long route4_get(struct tcf_proto *tp, u32 handle) | |||
258 | 258 | ||
259 | static int route4_init(struct tcf_proto *tp) | 259 | static int route4_init(struct tcf_proto *tp) |
260 | { | 260 | { |
261 | struct route4_head *head; | ||
262 | |||
263 | head = kzalloc(sizeof(struct route4_head), GFP_KERNEL); | ||
264 | if (head == NULL) | ||
265 | return -ENOBUFS; | ||
266 | |||
267 | rcu_assign_pointer(tp->root, head); | ||
261 | return 0; | 268 | return 0; |
262 | } | 269 | } |
263 | 270 | ||
@@ -484,13 +491,6 @@ static int route4_change(struct net *net, struct sk_buff *in_skb, | |||
484 | return -EINVAL; | 491 | return -EINVAL; |
485 | 492 | ||
486 | err = -ENOBUFS; | 493 | err = -ENOBUFS; |
487 | if (head == NULL) { | ||
488 | head = kzalloc(sizeof(struct route4_head), GFP_KERNEL); | ||
489 | if (head == NULL) | ||
490 | goto errout; | ||
491 | rcu_assign_pointer(tp->root, head); | ||
492 | } | ||
493 | |||
494 | f = kzalloc(sizeof(struct route4_filter), GFP_KERNEL); | 494 | f = kzalloc(sizeof(struct route4_filter), GFP_KERNEL); |
495 | if (!f) | 495 | if (!f) |
496 | goto errout; | 496 | goto errout; |