Patch "bnxt_en: Adjust logging of firmware messages in case of released token in __hwrm_send()" has been added to the 6.9-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    bnxt_en: Adjust logging of firmware messages in case of released token in __hwrm_send()

to the 6.9-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     bnxt_en-adjust-logging-of-firmware-messages-in-case-.patch
and it can be found in the queue-6.9 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit b117e3d18e518a2a802548a97e815fe313e7bafe
Author: Aleksandr Mishin <amishin@xxxxxxxxxx>
Date:   Tue Jun 11 11:25:46 2024 +0300

    bnxt_en: Adjust logging of firmware messages in case of released token in __hwrm_send()
    
    [ Upstream commit a9b9741854a9fe9df948af49ca5514e0ed0429df ]
    
    In case of token is released due to token->state == BNXT_HWRM_DEFERRED,
    released token (set to NULL) is used in log messages. This issue is
    expected to be prevented by HWRM_ERR_CODE_PF_UNAVAILABLE error code. But
    this error code is returned by recent firmware. So some firmware may not
    return it. This may lead to NULL pointer dereference.
    Adjust this issue by adding token pointer check.
    
    Found by Linux Verification Center (linuxtesting.org) with SVACE.
    
    Fixes: 8fa4219dba8e ("bnxt_en: add dynamic debug support for HWRM messages")
    Suggested-by: Michael Chan <michael.chan@xxxxxxxxxxxx>
    Signed-off-by: Aleksandr Mishin <amishin@xxxxxxxxxx>
    Reviewed-by: Wojciech Drewek <wojciech.drewek@xxxxxxxxx>
    Reviewed-by: Michael Chan <michael.chan@xxxxxxxxxxxx>
    Link: https://lore.kernel.org/r/20240611082547.12178-1-amishin@xxxxxxxxxx
    Signed-off-by: Jakub Kicinski <kuba@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_hwrm.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_hwrm.c
index 1df3d56cc4b51..d2fd2d04ed474 100644
--- a/drivers/net/ethernet/broadcom/bnxt/bnxt_hwrm.c
+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_hwrm.c
@@ -680,7 +680,7 @@ static int __hwrm_send(struct bnxt *bp, struct bnxt_hwrm_ctx *ctx)
 			    req_type);
 	else if (rc && rc != HWRM_ERR_CODE_PF_UNAVAILABLE)
 		hwrm_err(bp, ctx, "hwrm req_type 0x%x seq id 0x%x error 0x%x\n",
-			 req_type, token->seq_id, rc);
+			 req_type, le16_to_cpu(ctx->req->seq_id), rc);
 	rc = __hwrm_to_stderr(rc);
 exit:
 	if (token)




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux