소스 검색

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>
WANG Cong 11 년 전
부모
커밋
02c5e84413
1개의 변경된 파일2개의 추가작업 그리고 3개의 파일을 삭제
  1. 2 3
      net/sched/cls_tcindex.c

+ 2 - 3
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)
 	if (err < 0)
 		return err;
 		return err;
 
 
+	err = -ENOMEM;
 	/* tcindex_data attributes must look atomic to classifier/lookup so
 	/* tcindex_data attributes must look atomic to classifier/lookup so
 	 * allocate new tcindex data and RCU assign it onto root. Keeping
 	 * allocate new tcindex data and RCU assign it onto root. Keeping
 	 * perfect hash and hash pointers from old data.
 	 * perfect hash and hash pointers from old data.
 	 */
 	 */
 	cp = kzalloc(sizeof(*cp), GFP_KERNEL);
 	cp = kzalloc(sizeof(*cp), GFP_KERNEL);
-	if (!cp) {
-		err = -ENOMEM;
+	if (!cp)
 		goto errout;
 		goto errout;
-	}
 
 
 	cp->mask = p->mask;
 	cp->mask = p->mask;
 	cp->shift = p->shift;
 	cp->shift = p->shift;