Index of the BST keys was wrongly initialized to a larger value, a possible buffer overflow.
Reported-by: Dan Carpenter <[email protected]> Closes: https://lore.kernel.org/intel-wired-lan/[email protected]/ Reviewed-by: Przemek Kitszel <[email protected]> Fixes: 9a4c07aaa0f5 ("ice: add parser execution main loop") Signed-off-by: Ahmed Zaki <[email protected]> --- drivers/net/ethernet/intel/ice/ice_parser_rt.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/intel/ice/ice_parser_rt.c b/drivers/net/ethernet/intel/ice/ice_parser_rt.c index d5bcc266b01e..c24e651ccf9d 100644 --- a/drivers/net/ethernet/intel/ice/ice_parser_rt.c +++ b/drivers/net/ethernet/intel/ice/ice_parser_rt.c @@ -119,13 +119,13 @@ static void ice_bst_key_init(struct ice_parser_rt *rt, u8 *key = rt->bst_key; int idd, i; - idd = ICE_BST_TCAM_KEY_SIZE - 1; + idd = ICE_BST_KEY_SIZE - 1; if (imem->b_kb.tsr_ctrl) key[idd] = tsr; else key[idd] = imem->b_kb.prio; - idd = ICE_BST_KEY_TCAM_SIZE - 1; + idd = ICE_BST_KEY_SIZE - 1; for (i = idd; i >= 0; i--) { int j; -- 2.43.0
