RE: [PATCH] scsi: ufs: core: Fix memory crash in case arpmb command failed

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

 



Done

-----Original Message-----
From: Bean Huo <huobean@xxxxxxxxx> 
Sent: Monday, February 17, 2025 8:40 PM
To: Arthur Simchaev <Arthur.Simchaev@xxxxxxxxxxx>; martin.petersen@xxxxxxxxxx
Cc: Avri Altman <Avri.Altman@xxxxxxxxxxx>; Avi Shchislowski <Avi.Shchislowski@xxxxxxxxxxx>; beanhuo@xxxxxxxxxx; linux-scsi@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; bvanassche@xxxxxxx
Subject: Re: [PATCH] scsi: ufs: core: Fix memory crash in case arpmb command failed

On Mon, 2025-02-17 at 18:43 +0200, Arthur Simchaev wrote:
> In case the device doesn't support arpmb, the kernel get memory crash 
> due to copy user data in bsg_transport_sg_io_fn level. So in case 
> ufshcd_send_bsg_uic_cmd returned error, do not change the job's 
> reply_len.
> 
> Memory crash backtrace:
> 3,1290,531166405,-;ufshcd 0000:00:12.5: ARPMB OP failed: error code -
> 22


It is Advanced RPMB access and not related to the UIC command, 

If the deivce didn't support advanced rpmb, got return -EINVAL(-22). 

In this case, in bsg_transport_sg_io_fn, 

if (job->result < 0) {
	job->reply_len = sizeof(u32); 

then:

 int len = min(hdr->max_response_len, job->reply_len); 
	if (copy_to_user(uptr64(hdr->response), job->reply, len))


It looks like you didn't initialize the correct response buffer from user space.

Could you rephrase your commit message, add a Fixes tag, and resubmit?


Kind regards,
Bean





[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]

  Powered by Linux