diff options
author | WANG Cong <xiyou.wangcong@gmail.com> | 2014-09-25 12:06:04 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-09-28 17:34:22 -0400 |
commit | 02c5e84413dae4aa650536097d4195a356217d3d (patch) | |
tree | 3df61dd3d364ab1d982d01a0ea61d88d18568ac9 /net/sched | |
parent | c01035f174a021737c30c8e71798c4f83dc6b8a9 (diff) | |
download | linux-02c5e84413dae4aa650536097d4195a356217d3d.tar.gz linux-02c5e84413dae4aa650536097d4195a356217d3d.tar.bz2 linux-02c5e84413dae4aa650536097d4195a356217d3d.zip |
net_sched: fix errno in tcindex_set_parms()
When kmemdup() fails, we should return -ENOMEM.
Cc: John Fastabend <john.fastabend@gmail.com>
Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Acked-by: John Fastabend <john.r.fastabend@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sched')
-rw-r--r-- | net/sched/cls_tcindex.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/net/sched/cls_tcindex.c b/net/sched/cls_tcindex.c index e3c6fa3ea3d2..365b23b928f4 100644 --- a/net/sched/cls_tcindex.c +++ b/net/sched/cls_tcindex.c @@ -237,15 +237,14 @@ tcindex_set_parms(struct net *net, struct tcf_proto *tp, unsigned long base, if (err < 0) return err; + err = -ENOMEM; /* tcindex_data attributes must look atomic to classifier/lookup so * allocate new tcindex data and RCU assign it onto root. Keeping * perfect hash and hash pointers from old data. */ cp = kzalloc(sizeof(*cp), GFP_KERNEL); - if (!cp) { - err = -ENOMEM; + if (!cp) goto errout; - } cp->mask = p->mask; cp->shift = p->shift; |