Commit 32a64994 authored by Bruce Allan's avatar Bruce Allan Committed by Jeff Kirsher
Browse files

ice: fix numeric overflow warning



When compiling and analyzing the driver on newer kernels, a static
analyzer warns about the following "numeric overflow" issues:

  "The result of expression: 'budget-1' generates 4-byte type while casting
   to a bigger size of 8-byte".

  "The result of expression: '*words-words_read' generates 4-byte type
   while casting to a bigger size of 8-byte".

Fix them both.

Signed-off-by: default avatarBruce Allan <bruce.w.allan@intel.com>
Signed-off-by: default avatarAnirudh Venkataramanan <anirudh.venkataramanan@intel.com>
Tested-by: default avatarAndrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
parent 0e04e8e1
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -152,9 +152,10 @@ ice_read_sr_buf_aq(struct ice_hw *hw, u16 offset, u16 *words, u16 *data)
		 */
		off_w = offset % ICE_SR_SECTOR_SIZE_IN_WORDS;
		read_size = off_w ?
			min(*words,
			    (u16)(ICE_SR_SECTOR_SIZE_IN_WORDS - off_w)) :
			min((*words - words_read), ICE_SR_SECTOR_SIZE_IN_WORDS);
			min_t(u16, *words,
			      (ICE_SR_SECTOR_SIZE_IN_WORDS - off_w)) :
			min_t(u16, (*words - words_read),
			      ICE_SR_SECTOR_SIZE_IN_WORDS);

		/* Check if this is last command, if so set proper flag */
		if ((words_read + read_size) >= *words)
+1 −1
Original line number Diff line number Diff line
@@ -1169,7 +1169,7 @@ int ice_napi_poll(struct napi_struct *napi, int budget)
		if (test_bit(ICE_FLAG_MSIX_ENA, pf->flags))
			ice_update_ena_itr(vsi, q_vector);

	return min(work_done, budget - 1);
	return min_t(int, work_done, budget - 1);
}

/* helper function for building cmd/type/offset */