All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] [PATCH v2] misc: fastrpc: fix improper packet size calculation
@ 2021-09-21 10:57 Jeya R
  2021-09-21 11:14 ` Srinivas Kandagatla
  2021-09-21 11:32 ` Greg KH
  0 siblings, 2 replies; 5+ messages in thread
From: Jeya R @ 2021-09-21 10:57 UTC (permalink / raw)
  To: linux-arm-msm, srinivas.kandagatla
  Cc: Jeya R, gregkh, linux-kernel, fastrpc.upstream

The buffer list is sorted and this is not being considered while
calculating packet size. This would lead to improper copy length
calculation for non-dmaheap buffers which would eventually cause
sending improper buffers to DSP.

Fixes: c68cfb718c8f ("misc: fastrpc: Add support for context Invoke method")
Signed-off-by: Jeya R <jeyr@codeaurora.org>

Changes in v2:
- updated commit message to proper format
- added fixes tag to commit message
- removed unnecessary variable initialization
- removed length check during payload calculation
---
 drivers/misc/fastrpc.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/misc/fastrpc.c b/drivers/misc/fastrpc.c
index beda610..69d45c4 100644
--- a/drivers/misc/fastrpc.c
+++ b/drivers/misc/fastrpc.c
@@ -719,16 +719,18 @@ static int fastrpc_get_meta_size(struct fastrpc_invoke_ctx *ctx)
 static u64 fastrpc_get_payload_size(struct fastrpc_invoke_ctx *ctx, int metalen)
 {
 	u64 size = 0;
-	int i;
+	int oix;
 
 	size = ALIGN(metalen, FASTRPC_ALIGN);
-	for (i = 0; i < ctx->nscalars; i++) {
+	for (oix = 0; oix < ctx->nbufs; oix++) {
+		int i = ctx->olaps[oix].raix;
+
 		if (ctx->args[i].fd == 0 || ctx->args[i].fd == -1) {
 
-			if (ctx->olaps[i].offset == 0)
+			if (ctx->olaps[oix].offset == 0)
 				size = ALIGN(size, FASTRPC_ALIGN);
 
-			size += (ctx->olaps[i].mend - ctx->olaps[i].mstart);
+			size += (ctx->olaps[oix].mend - ctx->olaps[oix].mstart);
 		}
 	}
 
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] [PATCH v2] misc: fastrpc: fix improper packet size calculation
  2021-09-21 10:57 [PATCH] [PATCH v2] misc: fastrpc: fix improper packet size calculation Jeya R
@ 2021-09-21 11:14 ` Srinivas Kandagatla
  2021-09-21 11:32 ` Greg KH
  1 sibling, 0 replies; 5+ messages in thread
From: Srinivas Kandagatla @ 2021-09-21 11:14 UTC (permalink / raw)
  To: Jeya R, linux-arm-msm; +Cc: gregkh, linux-kernel, fastrpc.upstream

Thank Jeya for fixing, one last nit-pick, Subject line is still broken.
It should be just "[PATCH v2] misc: fastrpc: fix improper packet size 
calculation"

instead of
"[PATCH] [PATCH v2] misc: fastrpc: fix improper packet size calculation"

in this particular case where you are re-sending same version of patch, 
you can use subject line like:

"[RESEND PATCH v2] misc: fastrpc: fix improper packet size calculation"


On 21/09/2021 11:57, Jeya R wrote:
> The buffer list is sorted and this is not being considered while
> calculating packet size. This would lead to improper copy length
> calculation for non-dmaheap buffers which would eventually cause
> sending improper buffers to DSP.
> 
> Fixes: c68cfb718c8f ("misc: fastrpc: Add support for context Invoke method")
> Signed-off-by: Jeya R <jeyr@codeaurora.org>
> 

Once that is fixed you can add

Reviewed-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>


--srini

> Changes in v2:
> - updated commit message to proper format
> - added fixes tag to commit message
> - removed unnecessary variable initialization
> - removed length check during payload calculation
> ---
>   drivers/misc/fastrpc.c | 10 ++++++----
>   1 file changed, 6 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/misc/fastrpc.c b/drivers/misc/fastrpc.c
> index beda610..69d45c4 100644
> --- a/drivers/misc/fastrpc.c
> +++ b/drivers/misc/fastrpc.c
> @@ -719,16 +719,18 @@ static int fastrpc_get_meta_size(struct fastrpc_invoke_ctx *ctx)
>   static u64 fastrpc_get_payload_size(struct fastrpc_invoke_ctx *ctx, int metalen)
>   {
>   	u64 size = 0;
> -	int i;
> +	int oix;
>   
>   	size = ALIGN(metalen, FASTRPC_ALIGN);
> -	for (i = 0; i < ctx->nscalars; i++) {
> +	for (oix = 0; oix < ctx->nbufs; oix++) {
> +		int i = ctx->olaps[oix].raix;
> +
>   		if (ctx->args[i].fd == 0 || ctx->args[i].fd == -1) {
>   
> -			if (ctx->olaps[i].offset == 0)
> +			if (ctx->olaps[oix].offset == 0)
>   				size = ALIGN(size, FASTRPC_ALIGN);
>   
> -			size += (ctx->olaps[i].mend - ctx->olaps[i].mstart);
> +			size += (ctx->olaps[oix].mend - ctx->olaps[oix].mstart);
>   		}
>   	}
>   
> 

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] [PATCH v2] misc: fastrpc: fix improper packet size calculation
  2021-09-21 10:57 [PATCH] [PATCH v2] misc: fastrpc: fix improper packet size calculation Jeya R
  2021-09-21 11:14 ` Srinivas Kandagatla
@ 2021-09-21 11:32 ` Greg KH
  2021-09-21 11:35   ` jeyr
  1 sibling, 1 reply; 5+ messages in thread
From: Greg KH @ 2021-09-21 11:32 UTC (permalink / raw)
  To: Jeya R; +Cc: linux-arm-msm, srinivas.kandagatla, linux-kernel, fastrpc.upstream

On Tue, Sep 21, 2021 at 04:27:27PM +0530, Jeya R wrote:
> The buffer list is sorted and this is not being considered while
> calculating packet size. This would lead to improper copy length
> calculation for non-dmaheap buffers which would eventually cause
> sending improper buffers to DSP.
> 
> Fixes: c68cfb718c8f ("misc: fastrpc: Add support for context Invoke method")
> Signed-off-by: Jeya R <jeyr@codeaurora.org>
> 
> Changes in v2:
> - updated commit message to proper format
> - added fixes tag to commit message
> - removed unnecessary variable initialization
> - removed length check during payload calculation
> ---
>  drivers/misc/fastrpc.c | 10 ++++++----
>  1 file changed, 6 insertions(+), 4 deletions(-)

The "Changes" need to go below the --- line, as the documentation states
to do.

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] [PATCH v2] misc: fastrpc: fix improper packet size calculation
  2021-09-21 11:32 ` Greg KH
@ 2021-09-21 11:35   ` jeyr
  2021-09-21 11:41     ` Greg KH
  0 siblings, 1 reply; 5+ messages in thread
From: jeyr @ 2021-09-21 11:35 UTC (permalink / raw)
  To: Greg KH
  Cc: linux-arm-msm, srinivas.kandagatla, linux-kernel, fastrpc.upstream

On 2021-09-21 17:02, Greg KH wrote:
> On Tue, Sep 21, 2021 at 04:27:27PM +0530, Jeya R wrote:
>> The buffer list is sorted and this is not being considered while
>> calculating packet size. This would lead to improper copy length
>> calculation for non-dmaheap buffers which would eventually cause
>> sending improper buffers to DSP.
>> 
>> Fixes: c68cfb718c8f ("misc: fastrpc: Add support for context Invoke 
>> method")
>> Signed-off-by: Jeya R <jeyr@codeaurora.org>
>> 
>> Changes in v2:
>> - updated commit message to proper format
>> - added fixes tag to commit message
>> - removed unnecessary variable initialization
>> - removed length check during payload calculation
>> ---
>>  drivers/misc/fastrpc.c | 10 ++++++----
>>  1 file changed, 6 insertions(+), 4 deletions(-)
> 
> The "Changes" need to go below the --- line, as the documentation 
> states
> to do.
> 
> thanks,
> 
> greg k-h
Thanks Greg for your comment. Will resend PATCH 2 to address this.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] [PATCH v2] misc: fastrpc: fix improper packet size calculation
  2021-09-21 11:35   ` jeyr
@ 2021-09-21 11:41     ` Greg KH
  0 siblings, 0 replies; 5+ messages in thread
From: Greg KH @ 2021-09-21 11:41 UTC (permalink / raw)
  To: jeyr; +Cc: linux-arm-msm, srinivas.kandagatla, linux-kernel, fastrpc.upstream

On Tue, Sep 21, 2021 at 05:05:29PM +0530, jeyr@codeaurora.org wrote:
> On 2021-09-21 17:02, Greg KH wrote:
> > On Tue, Sep 21, 2021 at 04:27:27PM +0530, Jeya R wrote:
> > > The buffer list is sorted and this is not being considered while
> > > calculating packet size. This would lead to improper copy length
> > > calculation for non-dmaheap buffers which would eventually cause
> > > sending improper buffers to DSP.
> > > 
> > > Fixes: c68cfb718c8f ("misc: fastrpc: Add support for context Invoke
> > > method")
> > > Signed-off-by: Jeya R <jeyr@codeaurora.org>
> > > 
> > > Changes in v2:
> > > - updated commit message to proper format
> > > - added fixes tag to commit message
> > > - removed unnecessary variable initialization
> > > - removed length check during payload calculation
> > > ---
> > >  drivers/misc/fastrpc.c | 10 ++++++----
> > >  1 file changed, 6 insertions(+), 4 deletions(-)
> > 
> > The "Changes" need to go below the --- line, as the documentation states
> > to do.
> > 
> > thanks,
> > 
> > greg k-h
> Thanks Greg for your comment. Will resend PATCH 2 to address this.

v3 please.

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2021-09-21 11:41 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-21 10:57 [PATCH] [PATCH v2] misc: fastrpc: fix improper packet size calculation Jeya R
2021-09-21 11:14 ` Srinivas Kandagatla
2021-09-21 11:32 ` Greg KH
2021-09-21 11:35   ` jeyr
2021-09-21 11:41     ` Greg KH

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.