]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
scsi: ufs: core: Initialize value of an attribute returned by uic cmd
authorWonkon Kim <wkon.kim@samsung.com>
Mon, 20 Oct 2025 06:15:38 +0000 (15:15 +0900)
committerMartin K. Petersen <martin.petersen@oracle.com>
Wed, 22 Oct 2025 01:02:46 +0000 (21:02 -0400)
If ufshcd_send_cmd() fails, *mib_val may have a garbage value. It can
get an unintended value of an attribute.

Make ufshcd_dme_get_attr() always initialize *mib_val.

Fixes: 12b4fdb4f6bc ("[SCSI] ufs: add dme configuration primitives")
Signed-off-by: Wonkon Kim <wkon.kim@samsung.com>
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Link: https://patch.msgid.link/20251020061539.28661-2-wkon.kim@samsung.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/ufs/core/ufshcd.c

index 8f4e884892a90265e02d758738bc574045f12814..498c0c8c0a6ba684a975eaf77b374ec6f7dd9f0e 100644 (file)
@@ -4282,8 +4282,8 @@ int ufshcd_dme_get_attr(struct ufs_hba *hba, u32 attr_sel,
                        get, UIC_GET_ATTR_ID(attr_sel),
                        UFS_UIC_COMMAND_RETRIES - retries);
 
-       if (mib_val && !ret)
-               *mib_val = uic_cmd.argument3;
+       if (mib_val)
+               *mib_val = ret == 0 ? uic_cmd.argument3 : 0;
 
        if (peer && (hba->quirks & UFSHCD_QUIRK_DME_PEER_ACCESS_AUTO_MODE)
            && pwr_mode_change)