All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Staging: media: atomisp: Remove duplicated argument to ||
@ 2017-09-22 11:20 Georgiana Chelu
  2017-09-29 13:36 ` Greg Kroah-Hartman
  0 siblings, 1 reply; 4+ messages in thread
From: Georgiana Chelu @ 2017-09-22 11:20 UTC (permalink / raw)
  To: outreachy-kernel; +Cc: Mauro Carvalho Chehab, Greg Kroah-Hartman

get_user() copies a variable from user space to kernel space
put_user() copies a variable from kenel space to user space.

Remove duplicated argument to || because consecutive calls
of these functions with the same arguments will have the same
result.

Issue found by coccinelle script.

Signed-off-by: Georgiana Chelu <georgiana.chelu93@gmail.com>
---
 drivers/staging/media/atomisp/pci/atomisp2/atomisp_compat_ioctl32.c | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/drivers/staging/media/atomisp/pci/atomisp2/atomisp_compat_ioctl32.c b/drivers/staging/media/atomisp/pci/atomisp2/atomisp_compat_ioctl32.c
index 0592ac1..a27ecbe 100644
--- a/drivers/staging/media/atomisp/pci/atomisp2/atomisp_compat_ioctl32.c
+++ b/drivers/staging/media/atomisp/pci/atomisp2/atomisp_compat_ioctl32.c
@@ -432,8 +432,6 @@ static int get_atomisp_overlay32(struct atomisp_overlay *kp,
 				&up->blend_overlay_perc_u) ||
 		get_user(kp->blend_overlay_perc_v,
 				&up->blend_overlay_perc_v) ||
-		get_user(kp->blend_overlay_perc_u,
-				&up->blend_overlay_perc_u) ||
 		get_user(kp->overlay_start_x, &up->overlay_start_y))
 			return -EFAULT;
 
@@ -460,8 +458,6 @@ static int put_atomisp_overlay32(struct atomisp_overlay *kp,
 				&up->blend_overlay_perc_u) ||
 		put_user(kp->blend_overlay_perc_v,
 				&up->blend_overlay_perc_v) ||
-		put_user(kp->blend_overlay_perc_u,
-				&up->blend_overlay_perc_u) ||
 		put_user(kp->overlay_start_x, &up->overlay_start_y))
 			return -EFAULT;
 
-- 
2.7.4



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

* Re: [PATCH] Staging: media: atomisp: Remove duplicated argument to ||
  2017-09-22 11:20 [PATCH] Staging: media: atomisp: Remove duplicated argument to || Georgiana Chelu
@ 2017-09-29 13:36 ` Greg Kroah-Hartman
  2017-10-01 10:47   ` Georgiana Chelu
  0 siblings, 1 reply; 4+ messages in thread
From: Greg Kroah-Hartman @ 2017-09-29 13:36 UTC (permalink / raw)
  To: Georgiana Chelu; +Cc: outreachy-kernel, Mauro Carvalho Chehab

On Fri, Sep 22, 2017 at 04:20:55AM -0700, Georgiana Chelu wrote:
> get_user() copies a variable from user space to kernel space
> put_user() copies a variable from kenel space to user space.
> 
> Remove duplicated argument to || because consecutive calls
> of these functions with the same arguments will have the same
> result.
> 
> Issue found by coccinelle script.
> 
> Signed-off-by: Georgiana Chelu <georgiana.chelu93@gmail.com>
> ---
>  drivers/staging/media/atomisp/pci/atomisp2/atomisp_compat_ioctl32.c | 4 ----
>  1 file changed, 4 deletions(-)
> 
> diff --git a/drivers/staging/media/atomisp/pci/atomisp2/atomisp_compat_ioctl32.c b/drivers/staging/media/atomisp/pci/atomisp2/atomisp_compat_ioctl32.c
> index 0592ac1..a27ecbe 100644
> --- a/drivers/staging/media/atomisp/pci/atomisp2/atomisp_compat_ioctl32.c
> +++ b/drivers/staging/media/atomisp/pci/atomisp2/atomisp_compat_ioctl32.c
> @@ -432,8 +432,6 @@ static int get_atomisp_overlay32(struct atomisp_overlay *kp,
>  				&up->blend_overlay_perc_u) ||
>  		get_user(kp->blend_overlay_perc_v,
>  				&up->blend_overlay_perc_v) ||
> -		get_user(kp->blend_overlay_perc_u,
> -				&up->blend_overlay_perc_u) ||
>  		get_user(kp->overlay_start_x, &up->overlay_start_y))
>  			return -EFAULT;
>  

I don't understand, you are changing the output of the code here, right?
Why is this patch ok?

confused,

greg k-h


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

* Re: [PATCH] Staging: media: atomisp: Remove duplicated argument to ||
  2017-09-29 13:36 ` Greg Kroah-Hartman
@ 2017-10-01 10:47   ` Georgiana Chelu
  2017-10-03 16:16     ` Greg Kroah-Hartman
  0 siblings, 1 reply; 4+ messages in thread
From: Georgiana Chelu @ 2017-10-01 10:47 UTC (permalink / raw)
  To: Greg Kroah-Hartman; +Cc: outreachy-kernel, Mauro Carvalho Chehab

On 29 September 2017 at 16:36, Greg Kroah-Hartman
<gregkh@linuxfoundation.org> wrote:
> On Fri, Sep 22, 2017 at 04:20:55AM -0700, Georgiana Chelu wrote:
>> get_user() copies a variable from user space to kernel space
>> put_user() copies a variable from kenel space to user space.
>>
>> Remove duplicated argument to || because consecutive calls
>> of these functions with the same arguments will have the same
>> result.
>>
>> Issue found by coccinelle script.
>>
>> Signed-off-by: Georgiana Chelu <georgiana.chelu93@gmail.com>
>> ---
>>  drivers/staging/media/atomisp/pci/atomisp2/atomisp_compat_ioctl32.c | 4 ----
>>  1 file changed, 4 deletions(-)
>>
>> diff --git a/drivers/staging/media/atomisp/pci/atomisp2/atomisp_compat_ioctl32.c b/drivers/staging/media/atomisp/pci/atomisp2/atomisp_compat_ioctl32.c
>> index 0592ac1..a27ecbe 100644
>> --- a/drivers/staging/media/atomisp/pci/atomisp2/atomisp_compat_ioctl32.c
>> +++ b/drivers/staging/media/atomisp/pci/atomisp2/atomisp_compat_ioctl32.c
>> @@ -432,8 +432,6 @@ static int get_atomisp_overlay32(struct atomisp_overlay *kp,
>>                               &up->blend_overlay_perc_u) ||
>>               get_user(kp->blend_overlay_perc_v,
>>                               &up->blend_overlay_perc_v) ||
>> -             get_user(kp->blend_overlay_perc_u,
>> -                             &up->blend_overlay_perc_u) ||
>>               get_user(kp->overlay_start_x, &up->overlay_start_y))
>>                       return -EFAULT;
>>
>
> I don't understand, you are changing the output of the code here, right?
> Why is this patch ok?

The output of the code is the same. This patch just removes the duplicate.
I know, it's hard to see it because the patch does not show the whole
if statement. The get_user() function does not change the value
of the variable from userspace. So, I thought that consecutive calls
over the same variable will have the same result.

Here is the whole if statement. The get_user is called twice for
the "blend_overlay_perc_u" and "up->blend_overlay_perc_u" variables.

if (!access_ok(VERIFY_READ, up, sizeof(struct atomisp_overlay32)) ||
get_user(frame, &up->frame) ||
get_user(kp->bg_y, &up->bg_y) ||
get_user(kp->bg_u, &up->bg_u) ||
get_user(kp->bg_v, &up->bg_v) ||
get_user(kp->blend_input_perc_y, &up->blend_input_perc_y) ||
get_user(kp->blend_input_perc_u, &up->blend_input_perc_u) ||
get_user(kp->blend_input_perc_v, &up->blend_input_perc_v) ||
get_user(kp->blend_overlay_perc_y, &up->blend_overlay_perc_y) ||
get_user(kp->blend_overlay_perc_u, &up->blend_overlay_perc_u) ||
get_user(kp->blend_overlay_perc_v, &up->blend_overlay_perc_v) ||
get_user(kp->blend_overlay_perc_u, &up->blend_overlay_perc_u) ||
get_user(kp->overlay_start_x, &up->overlay_start_y)) {...}


The reason behind the second change in this patch is the same.
The put_user() function is called twice to write the same value
into the same variable from userspace.

Thank you,
Georgiana

>
> confused,
>
> greg k-h


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

* Re: [PATCH] Staging: media: atomisp: Remove duplicated argument to ||
  2017-10-01 10:47   ` Georgiana Chelu
@ 2017-10-03 16:16     ` Greg Kroah-Hartman
  0 siblings, 0 replies; 4+ messages in thread
From: Greg Kroah-Hartman @ 2017-10-03 16:16 UTC (permalink / raw)
  To: Georgiana Chelu; +Cc: outreachy-kernel, Mauro Carvalho Chehab

On Sun, Oct 01, 2017 at 01:47:41PM +0300, Georgiana Chelu wrote:
> On 29 September 2017 at 16:36, Greg Kroah-Hartman
> <gregkh@linuxfoundation.org> wrote:
> > On Fri, Sep 22, 2017 at 04:20:55AM -0700, Georgiana Chelu wrote:
> >> get_user() copies a variable from user space to kernel space
> >> put_user() copies a variable from kenel space to user space.
> >>
> >> Remove duplicated argument to || because consecutive calls
> >> of these functions with the same arguments will have the same
> >> result.
> >>
> >> Issue found by coccinelle script.
> >>
> >> Signed-off-by: Georgiana Chelu <georgiana.chelu93@gmail.com>
> >> ---
> >>  drivers/staging/media/atomisp/pci/atomisp2/atomisp_compat_ioctl32.c | 4 ----
> >>  1 file changed, 4 deletions(-)
> >>
> >> diff --git a/drivers/staging/media/atomisp/pci/atomisp2/atomisp_compat_ioctl32.c b/drivers/staging/media/atomisp/pci/atomisp2/atomisp_compat_ioctl32.c
> >> index 0592ac1..a27ecbe 100644
> >> --- a/drivers/staging/media/atomisp/pci/atomisp2/atomisp_compat_ioctl32.c
> >> +++ b/drivers/staging/media/atomisp/pci/atomisp2/atomisp_compat_ioctl32.c
> >> @@ -432,8 +432,6 @@ static int get_atomisp_overlay32(struct atomisp_overlay *kp,
> >>                               &up->blend_overlay_perc_u) ||
> >>               get_user(kp->blend_overlay_perc_v,
> >>                               &up->blend_overlay_perc_v) ||
> >> -             get_user(kp->blend_overlay_perc_u,
> >> -                             &up->blend_overlay_perc_u) ||
> >>               get_user(kp->overlay_start_x, &up->overlay_start_y))
> >>                       return -EFAULT;
> >>
> >
> > I don't understand, you are changing the output of the code here, right?
> > Why is this patch ok?
> 
> The output of the code is the same. This patch just removes the duplicate.
> I know, it's hard to see it because the patch does not show the whole
> if statement. The get_user() function does not change the value
> of the variable from userspace. So, I thought that consecutive calls
> over the same variable will have the same result.
> 
> Here is the whole if statement. The get_user is called twice for
> the "blend_overlay_perc_u" and "up->blend_overlay_perc_u" variables.
> 
> if (!access_ok(VERIFY_READ, up, sizeof(struct atomisp_overlay32)) ||
> get_user(frame, &up->frame) ||
> get_user(kp->bg_y, &up->bg_y) ||
> get_user(kp->bg_u, &up->bg_u) ||
> get_user(kp->bg_v, &up->bg_v) ||
> get_user(kp->blend_input_perc_y, &up->blend_input_perc_y) ||
> get_user(kp->blend_input_perc_u, &up->blend_input_perc_u) ||
> get_user(kp->blend_input_perc_v, &up->blend_input_perc_v) ||
> get_user(kp->blend_overlay_perc_y, &up->blend_overlay_perc_y) ||
> get_user(kp->blend_overlay_perc_u, &up->blend_overlay_perc_u) ||
> get_user(kp->blend_overlay_perc_v, &up->blend_overlay_perc_v) ||
> get_user(kp->blend_overlay_perc_u, &up->blend_overlay_perc_u) ||
> get_user(kp->overlay_start_x, &up->overlay_start_y)) {...}
> 
> 
> The reason behind the second change in this patch is the same.
> The put_user() function is called twice to write the same value
> into the same variable from userspace.

Ah, ok, care to put this type of info in the changelog itself to make it
more obvious?

thanks,

greg k-h


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

end of thread, other threads:[~2017-10-03 16:16 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-09-22 11:20 [PATCH] Staging: media: atomisp: Remove duplicated argument to || Georgiana Chelu
2017-09-29 13:36 ` Greg Kroah-Hartman
2017-10-01 10:47   ` Georgiana Chelu
2017-10-03 16:16     ` Greg Kroah-Hartman

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.