Message ID | 1679394100-27119-1-git-send-email-quic_ekangupt@quicinc.com (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
Series | [v1] misc: fastrpc: Reassign memory ownership only for remote heap | expand |
On 21/03/2023 10:21, Ekansh Gupta wrote: > The userspace map request for remote heap allocates CMA memory. > The ownership of this memory needs to be reassigned to proper > owners to allow access from the protection domain running on > DSP. This reassigning of ownership is not correct if done for > any other supported flags. > > When any other flag is requested from userspace, fastrpc is > trying to reassign the ownership of memory and this reassignment > is getting skipped for remote heap request which is incorrect. > Add proper flag check to reassign the memory only if remote heap > is requested. > > Fixes: 532ad70c6d44 ("misc: fastrpc: Add mmap request assigning for static PD pool") > Cc: stable <stable@kernel.org> > Tested-by: Ekansh Gupta <quic_ekangupt@quicinc.com> > Signed-off-by: Ekansh Gupta <quic_ekangupt@quicinc.com> Thanks for fixing this, without this fix the code inside if condition was a dead code. Reviewed-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> --srini > --- > drivers/misc/fastrpc.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/misc/fastrpc.c b/drivers/misc/fastrpc.c > index a701132..9b88132 100644 > --- a/drivers/misc/fastrpc.c > +++ b/drivers/misc/fastrpc.c > @@ -1892,7 +1892,7 @@ static int fastrpc_req_mmap(struct fastrpc_user *fl, char __user *argp) > req.vaddrout = rsp_msg.vaddr; > > /* Add memory to static PD pool, protection thru hypervisor */ > - if (req.flags != ADSP_MMAP_REMOTE_HEAP_ADDR && fl->cctx->vmcount) { > + if (req.flags == ADSP_MMAP_REMOTE_HEAP_ADDR && fl->cctx->vmcount) { > struct qcom_scm_vmperm perm; > > perm.vmid = QCOM_SCM_VMID_HLOS;
On Tue, Mar 21, 2023 at 08:53:33PM +0000, Srinivas Kandagatla wrote: > > > On 21/03/2023 10:21, Ekansh Gupta wrote: > > The userspace map request for remote heap allocates CMA memory. > > The ownership of this memory needs to be reassigned to proper > > owners to allow access from the protection domain running on > > DSP. This reassigning of ownership is not correct if done for > > any other supported flags. > > > > When any other flag is requested from userspace, fastrpc is > > trying to reassign the ownership of memory and this reassignment > > is getting skipped for remote heap request which is incorrect. > > Add proper flag check to reassign the memory only if remote heap > > is requested. > > > > Fixes: 532ad70c6d44 ("misc: fastrpc: Add mmap request assigning for static PD pool") > > Cc: stable <stable@kernel.org> > > Tested-by: Ekansh Gupta <quic_ekangupt@quicinc.com> > > Signed-off-by: Ekansh Gupta <quic_ekangupt@quicinc.com> > > Thanks for fixing this, without this fix the code inside if condition was a > dead code. > > > Reviewed-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Are you going to be collecting these and sending them on? If not, please do. thanks, greg k-h
On 29/03/2023 11:09, Greg KH wrote: > On Tue, Mar 21, 2023 at 08:53:33PM +0000, Srinivas Kandagatla wrote: >> >> >> On 21/03/2023 10:21, Ekansh Gupta wrote: >>> The userspace map request for remote heap allocates CMA memory. >>> The ownership of this memory needs to be reassigned to proper >>> owners to allow access from the protection domain running on >>> DSP. This reassigning of ownership is not correct if done for >>> any other supported flags. >>> >>> When any other flag is requested from userspace, fastrpc is >>> trying to reassign the ownership of memory and this reassignment >>> is getting skipped for remote heap request which is incorrect. >>> Add proper flag check to reassign the memory only if remote heap >>> is requested. >>> >>> Fixes: 532ad70c6d44 ("misc: fastrpc: Add mmap request assigning for static PD pool") >>> Cc: stable <stable@kernel.org> >>> Tested-by: Ekansh Gupta <quic_ekangupt@quicinc.com> >>> Signed-off-by: Ekansh Gupta <quic_ekangupt@quicinc.com> >> >> Thanks for fixing this, without this fix the code inside if condition was a >> dead code. >> >> >> Reviewed-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> > > Are you going to be collecting these and sending them on? If not, > please do. Sorry for long delay, I will take care of collecting fastrpc patches and send it. --srini > > thanks, > > greg k-h
On Tue, 21 Mar 2023 15:51:40 +0530, Ekansh Gupta wrote: > The userspace map request for remote heap allocates CMA memory. > The ownership of this memory needs to be reassigned to proper > owners to allow access from the protection domain running on > DSP. This reassigning of ownership is not correct if done for > any other supported flags. > > When any other flag is requested from userspace, fastrpc is > trying to reassign the ownership of memory and this reassignment > is getting skipped for remote heap request which is incorrect. > Add proper flag check to reassign the memory only if remote heap > is requested. > > [...] Applied, thanks! [1/1] misc: fastrpc: Reassign memory ownership only for remote heap commit: 5fad4a6b2d8f05c4823a08465e584f46df798b1f Best regards,
diff --git a/drivers/misc/fastrpc.c b/drivers/misc/fastrpc.c index a701132..9b88132 100644 --- a/drivers/misc/fastrpc.c +++ b/drivers/misc/fastrpc.c @@ -1892,7 +1892,7 @@ static int fastrpc_req_mmap(struct fastrpc_user *fl, char __user *argp) req.vaddrout = rsp_msg.vaddr; /* Add memory to static PD pool, protection thru hypervisor */ - if (req.flags != ADSP_MMAP_REMOTE_HEAP_ADDR && fl->cctx->vmcount) { + if (req.flags == ADSP_MMAP_REMOTE_HEAP_ADDR && fl->cctx->vmcount) { struct qcom_scm_vmperm perm; perm.vmid = QCOM_SCM_VMID_HLOS;