Message ID | 20171103080945.27155-1-colin.king@canonical.com |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
Series | net: sched: cls_u32: use bitwise & rather than logical && on n->flags | expand |
From: Colin King <colin.king@canonical.com> Date: Fri, 3 Nov 2017 08:09:45 +0000 > From: Colin Ian King <colin.king@canonical.com> > > 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: 245dc5121a9b ("net: sched: cls_u32: call block callbacks for offload") > Signed-off-by: Colin Ian King <colin.king@canonical.com> Applied, thanks Colin.
diff --git a/net/sched/cls_u32.c b/net/sched/cls_u32.c index 86145867b424..2737b71854c9 100644 --- a/net/sched/cls_u32.c +++ b/net/sched/cls_u32.c @@ -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;