]> git.baikalelectronics.ru Git - kernel.git/commitdiff
net: sched: cls_u32: use bitwise & rather than logical && on n->flags
authorColin Ian King <colin.king@canonical.com>
Fri, 3 Nov 2017 08:09:45 +0000 (08:09 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sat, 4 Nov 2017 13:43:54 +0000 (22:43 +0900)
Currently n->flags is being operated on by a logical && operator rather
than a bitwise & operator. This looks incorrect as these should be bit
flag operations. Fix this.

Detected by CoverityScan, CID#1460398 ("Logical vs. bitwise operator")

Fixes: 565820d9b2bd ("net: sched: cls_u32: call block callbacks for offload")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/sched/cls_u32.c

index 86145867b42463844fb4b68f141d831c38851770..2737b71854c97a6315c498ec5c143de854d695d1 100644 (file)
@@ -572,7 +572,7 @@ static int u32_replace_hw_knode(struct tcf_proto *tp, struct tc_u_knode *n,
                n->flags |= TCA_CLS_FLAGS_IN_HW;
        }
 
-       if (skip_sw && !(n->flags && TCA_CLS_FLAGS_IN_HW))
+       if (skip_sw && !(n->flags & TCA_CLS_FLAGS_IN_HW))
                return -EINVAL;
 
        return 0;