Skip to content

Commit d794b49

Browse files
beanhuomartinkpetersen
authored andcommitted
scsi: ufs: core: fix incorrect buffer duplication in ufshcd_read_string_desc()
The function ufshcd_read_string_desc() was duplicating memory starting from the beginning of struct uc_string_id, which included the length and type fields. As a result, the allocated buffer contained unwanted metadata in addition to the string itself. The correct behavior is to duplicate only the Unicode character array in the structure. Update the code so that only the actual string content is copied into the new buffer. Fixes: 5f57704 ("scsi: ufs: Use kmemdup in ufshcd_read_string_desc()") Reviewed-by: Avri Altman <avri.altman@sandisk.com> Reviewed-by: Bart Van Assche <bvanassche@acm.org> Signed-off-by: Bean Huo <beanhuo@micron.com> Link: https://patch.msgid.link/20251107230518.4060231-3-beanhuo@iokpp.de Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
1 parent 0d9a708 commit d794b49

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

drivers/ufs/core/ufshcd.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3835,7 +3835,7 @@ int ufshcd_read_string_desc(struct ufs_hba *hba, u8 desc_index, u8 **buf, enum u
38353835
str[ret++] = '\0';
38363836

38373837
} else {
3838-
str = kmemdup(uc_str, uc_str->len, GFP_KERNEL);
3838+
str = kmemdup(uc_str->uc, uc_str->len, GFP_KERNEL);
38393839
if (!str) {
38403840
ret = -ENOMEM;
38413841
goto out;

0 commit comments

Comments
 (0)