From: Colin Ian King Date: Sun, 5 May 2019 21:38:14 +0000 (+0100) Subject: net: mvpp2: cls: fix less than zero check on a u32 variable X-Git-Tag: v5.2-rc1~133^2~7 X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=commitdiff_plain;h=d4ee7f195e2de2f881a0d0d9412394a14a02c4c8;p=linux.git net: mvpp2: cls: fix less than zero check on a u32 variable The signed return from the call to mvpp2_cls_c2_port_flow_index is being assigned to the u32 variable c2.index and then checked for a negative error condition which is always going to be false. Fix this by assigning the return to the int variable index and checking this instead. Addresses-Coverity: ("Unsigned compared against 0") Fixes: 90b509b39ac9 ("net: mvpp2: cls: Add Classification offload support") Signed-off-by: Colin Ian King Reviewed-by: Maxime Chevallier Signed-off-by: David S. Miller --- diff --git a/drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c b/drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c index f9623f928915..d046f7a1dcf5 100644 --- a/drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c +++ b/drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c @@ -1029,12 +1029,14 @@ static int mvpp2_port_c2_tcam_rule_add(struct mvpp2_port *port, struct flow_action_entry *act; struct mvpp2_cls_c2_entry c2; u8 qh, ql, pmap; + int index; memset(&c2, 0, sizeof(c2)); - c2.index = mvpp2_cls_c2_port_flow_index(port, rule->loc); - if (c2.index < 0) + index = mvpp2_cls_c2_port_flow_index(port, rule->loc); + if (index < 0) return -EINVAL; + c2.index = index; act = &rule->flow->action.entries[0];