mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-23 14:24:25 +08:00
qed/qed_dev: guard against a possible division by zero
[ Upstream commit1a9dc5610e
] 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:bcd197c81f
("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> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
b108bd9e6b
commit
6ffa057001
@ -5022,6 +5022,11 @@ static int qed_init_wfq_param(struct qed_hwfn *p_hwfn,
|
||||
|
||||
num_vports = p_hwfn->qm_info.num_vports;
|
||||
|
||||
if (num_vports < 2) {
|
||||
DP_NOTICE(p_hwfn, "Unexpected num_vports: %d\n", num_vports);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
/* Accounting for the vports which are configured for WFQ explicitly */
|
||||
for (i = 0; i < num_vports; i++) {
|
||||
u32 tmp_speed;
|
||||
|
Loading…
Reference in New Issue
Block a user