2020-06-24 10:13:46

by Colin King

[permalink] [raw]
Subject: [PATCH] qed: add missing error test for DBG_STATUS_NO_MATCHING_FRAMING_MODE

From: Colin Ian King <[email protected]>

The error DBG_STATUS_NO_MATCHING_FRAMING_MODE was added to the enum
enum dbg_status however there is a missing corresponding entry for
this in the array s_status_str. This causes an out-of-bounds read when
indexing into the last entry of s_status_str. Fix this by adding in
the missing entry.

Addresses-Coverity: ("Out-of-bounds read").
Fixes: 2d22bc8354b1 ("qed: FW 8.42.2.0 debug features")
Signed-off-by: Colin Ian King <[email protected]>
---
drivers/net/ethernet/qlogic/qed/qed_debug.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/qlogic/qed/qed_debug.c b/drivers/net/ethernet/qlogic/qed/qed_debug.c
index 57a0dab88431..81e8fbe4a05b 100644
--- a/drivers/net/ethernet/qlogic/qed/qed_debug.c
+++ b/drivers/net/ethernet/qlogic/qed/qed_debug.c
@@ -5568,7 +5568,8 @@ static const char * const s_status_str[] = {

/* DBG_STATUS_INVALID_FILTER_TRIGGER_DWORDS */
"The filter/trigger constraint dword offsets are not enabled for recording",
-
+ /* DBG_STATUS_NO_MATCHING_FRAMING_MODE */
+ "No matching framing mode",

/* DBG_STATUS_VFC_READ_ERROR */
"Error reading from VFC",
--
2.27.0


2020-06-24 22:10:24

by David Miller

[permalink] [raw]
Subject: Re: [PATCH] qed: add missing error test for DBG_STATUS_NO_MATCHING_FRAMING_MODE

From: Colin King <[email protected]>
Date: Wed, 24 Jun 2020 11:13:02 +0100

> From: Colin Ian King <[email protected]>
>
> The error DBG_STATUS_NO_MATCHING_FRAMING_MODE was added to the enum
> enum dbg_status however there is a missing corresponding entry for
> this in the array s_status_str. This causes an out-of-bounds read when
> indexing into the last entry of s_status_str. Fix this by adding in
> the missing entry.
>
> Addresses-Coverity: ("Out-of-bounds read").
> Fixes: 2d22bc8354b1 ("qed: FW 8.42.2.0 debug features")
> Signed-off-by: Colin Ian King <[email protected]>

Applied, thank you.

2020-06-25 18:16:35

by Igor Russkikh

[permalink] [raw]
Subject: Re: [EXT] [PATCH] qed: add missing error test for DBG_STATUS_NO_MATCHING_FRAMING_MODE

Hi Colin!

Thanks for catching this, indeed this was missed!

>
> /* DBG_STATUS_INVALID_FILTER_TRIGGER_DWORDS */
> "The filter/trigger constraint dword offsets are not enabled for
> recording",
> -
> + /* DBG_STATUS_NO_MATCHING_FRAMING_MODE */
> + "No matching framing mode",
>

Could you please however change the string to

"No matching framing mode found for the enabled blocks/Storms - use less
dwords for blocks data",

If you don't have much time, I can repost this for you. With this change it'll
be in sync with our internal error descriptions.

Thanks
Igor