qed/qed_dev: guard against a possible division by zero
authorDaniil Tatianin <d-tatianin@yandex-team.ru>
Thu, 9 Mar 2023 20:15:56 +0000 (23:15 +0300)
committerJakub Kicinski <kuba@kernel.org>
Mon, 13 Mar 2023 23:55:02 +0000 (16:55 -0700)
commit1a9dc5610ef89d807acdcfbff93a558f341a44da
treed4b5a8d9eafb32d029ff1bcb8b8eca4c08641267
parent22a825c541d775c1dbe7b2402786025acad6727b
qed/qed_dev: guard against a possible division by zero

Previously we would divide total_left_rate by zero if num_vports
happened to be 1 because non_requested_count is calculated as
num_vports - req_count. Guard against this by validating num_vports at
the beginning and returning an error otherwise.

Found by Linux Verification Center (linuxtesting.org) with the SVACE
static analysis tool.

Fixes: bcd197c81f63 ("qed: Add vport WFQ configuration APIs")
Signed-off-by: Daniil Tatianin <d-tatianin@yandex-team.ru>
Reviewed-by: Simon Horman <simon.horman@corigine.com>
Link: https://lore.kernel.org/r/20230309201556.191392-1-d-tatianin@yandex-team.ru
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/qlogic/qed/qed_dev.c