summaryrefslogtreecommitdiffstats
path: root/net/sched/cls_tcindex.c
diff options
context:
space:
mode:
authorWANG Cong <xiyou.wangcong@gmail.com>2014-09-25 12:06:04 -0700
committerDavid S. Miller <davem@davemloft.net>2014-09-28 17:34:22 -0400
commit02c5e84413dae4aa650536097d4195a356217d3d (patch)
tree3df61dd3d364ab1d982d01a0ea61d88d18568ac9 /net/sched/cls_tcindex.c
parentc01035f174a021737c30c8e71798c4f83dc6b8a9 (diff)
downloadlinux-02c5e84413dae4aa650536097d4195a356217d3d.tar.bz2
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/cls_tcindex.c')
-rw-r--r--net/sched/cls_tcindex.c5
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;