[v5,1/2] staging: ion: simplify ioctl args checking function

Message ID 1506518409-16887-2-git-send-email-benjamin.gaignard@linaro.org
State New
Headers show
Series
  • [v5,1/2] staging: ion: simplify ioctl args checking function
Related show

Commit Message

Benjamin Gaignard Sept. 27, 2017, 1:20 p.m.
Make arguments checking more easy to read.

Signed-off-by: Benjamin Gaignard <benjamin.gaignard@linaro.org>

---
 drivers/staging/android/ion/ion-ioctl.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

-- 
2.7.4

Comments

Benjamin Gaignard Oct. 9, 2017, 9:21 a.m. | #1
2017-09-27 15:20 GMT+02:00 Benjamin Gaignard <benjamin.gaignard@linaro.org>:
> Make arguments checking more easy to read.

>


Hi Laura,

Even if we don't have found a solution for the second patch I believe
this one could be useful.
May I ask you your point of view on those few lines ?

Benjamin

> Signed-off-by: Benjamin Gaignard <benjamin.gaignard@linaro.org>

> ---

>  drivers/staging/android/ion/ion-ioctl.c | 11 +++++------

>  1 file changed, 5 insertions(+), 6 deletions(-)

>

> diff --git a/drivers/staging/android/ion/ion-ioctl.c b/drivers/staging/android/ion/ion-ioctl.c

> index d9f8b14..e26b786 100644

> --- a/drivers/staging/android/ion/ion-ioctl.c

> +++ b/drivers/staging/android/ion/ion-ioctl.c

> @@ -27,19 +27,18 @@ union ion_ioctl_arg {

>

>  static int validate_ioctl_arg(unsigned int cmd, union ion_ioctl_arg *arg)

>  {

> -       int ret = 0;

> -

>         switch (cmd) {

>         case ION_IOC_HEAP_QUERY:

> -               ret = arg->query.reserved0 != 0;

> -               ret |= arg->query.reserved1 != 0;

> -               ret |= arg->query.reserved2 != 0;

> +               if (arg->query.reserved0 ||

> +                   arg->query.reserved1 ||

> +                   arg->query.reserved2)

> +                       return -EINVAL;

>                 break;

>         default:

>                 break;

>         }

>

> -       return ret ? -EINVAL : 0;

> +       return 0;

>  }

>

>  /* fix up the cases where the ioctl direction bits are incorrect */

> --

> 2.7.4

>




-- 
Benjamin Gaignard

Graphic Study Group

Linaro.org │ Open source software for ARM SoCs

Follow Linaro: Facebook | Twitter | Blog

Patch

diff --git a/drivers/staging/android/ion/ion-ioctl.c b/drivers/staging/android/ion/ion-ioctl.c
index d9f8b14..e26b786 100644
--- a/drivers/staging/android/ion/ion-ioctl.c
+++ b/drivers/staging/android/ion/ion-ioctl.c
@@ -27,19 +27,18 @@  union ion_ioctl_arg {
 
 static int validate_ioctl_arg(unsigned int cmd, union ion_ioctl_arg *arg)
 {
-	int ret = 0;
-
 	switch (cmd) {
 	case ION_IOC_HEAP_QUERY:
-		ret = arg->query.reserved0 != 0;
-		ret |= arg->query.reserved1 != 0;
-		ret |= arg->query.reserved2 != 0;
+		if (arg->query.reserved0 ||
+		    arg->query.reserved1 ||
+		    arg->query.reserved2)
+			return -EINVAL;
 		break;
 	default:
 		break;
 	}
 
-	return ret ? -EINVAL : 0;
+	return 0;
 }
 
 /* fix up the cases where the ioctl direction bits are incorrect */