From: WANG Cong Date: Thu, 25 Sep 2014 19:06:04 +0000 (-0700) Subject: net_sched: fix errno in tcindex_set_parms() X-Git-Tag: v3.18-rc1~115^2~122 X-Git-Url: http://git.cascardo.eti.br/?a=commitdiff_plain;h=02c5e84413dae4aa650536097d4195a356217d3d;p=cascardo%2Flinux.git net_sched: fix errno in tcindex_set_parms() When kmemdup() fails, we should return -ENOMEM. Cc: John Fastabend Signed-off-by: Cong Wang Acked-by: John Fastabend Signed-off-by: David S. Miller --- 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;