Subject: Coverity: igc_hash_mc_addr(): Integer handling issues

From: coverity-bot <[email-masked]>
Date: Mon, 28 Oct 2019 16:06:15 -0700

Hello!

This is an experimental automated report about issues detected by Coverity
from a scan of next-20191025 as part of the linux-next weekly scan project:
https://scan.coverity.com/projects/linux-next-weekly-scan

You're getting this email because you were associated with the identified
lines of code (noted below) that were touched by recent commits:

7f839684c5c4 ("igc: Add set_rx_mode support")

Coverity reported the following:

*** CID 1487361:  Integer handling issues  (BAD_SHIFT)
/drivers/net/ethernet/intel/igc/igc_mac.c: 851 in igc_hash_mc_addr()
845     		break;
846     	case 3:
847     		bit_shift += 4;
848     		break;
849     	}
850
vvv     CID 1487361:  Integer handling issues  (BAD_SHIFT)
vvv     In expression "mc_addr[4] >> 8 - bit_shift", right shifting "mc_addr[4]" by more than 7 bits always yields zero.  The shift amount, "8 - bit_shift", is 8.
851     	hash_value = hash_mask & (((mc_addr[4] >> (8 - bit_shift)) |
852     				  (((u16)mc_addr[5]) << bit_shift)));
853
854     	return hash_value;
855     }
856

If this is a false positive, please let us know so we can mark it as
such, or teach the Coverity rules to be smarter. If not, please make
sure fixes get into linux-next. :) For patches fixing this, please
include:

Reported-by: coverity-bot <[email-masked]>
Addresses-Coverity-ID: 1487361 ("Integer handling issues")
Fixes: 7f839684c5c4 ("igc: Add set_rx_mode support")

Thanks for your attention!

-- 
Coverity-bot