Hi Colin, On Sun, 5 May 2019 22:38:14 +0100 Colin King <colin.king@xxxxxxxxxxxxx> wrote: >From: Colin Ian King <colin.king@xxxxxxxxxxxxx> > >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 <colin.king@xxxxxxxxxxxxx> >--- > drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > >diff --git a/drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c b/drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c >index 4989fb13244f..c10bc257f571 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]; > Thanks for the fix, my bad. Reviewed-by: Maxime Chevallier <maxime.chevallier@xxxxxxxxxxx> Maxime