diff mbox

gpio: mockup: return -EFAULT if copy_from_user() fails

Message ID 20170214230206.GA4048@mwanda
State New
Headers show

Commit Message

Dan Carpenter Feb. 14, 2017, 11:02 p.m. UTC
copy_from_user() returns the number of bytes remaining to be copied but
we want to return negative error codes on failue.

Fixes: 9202ba2397d1 ("gpio: mockup: implement event injecting over debugfs")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>

--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Bartosz Golaszewski Feb. 15, 2017, 9:16 a.m. UTC | #1
2017-02-15 0:02 GMT+01:00 Dan Carpenter <dan.carpenter@oracle.com>:
> copy_from_user() returns the number of bytes remaining to be copied but
> we want to return negative error codes on failue.
>
> Fixes: 9202ba2397d1 ("gpio: mockup: implement event injecting over debugfs")
> Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
>
> diff --git a/drivers/gpio/gpio-mockup.c b/drivers/gpio/gpio-mockup.c
> index 06dac72cb69c..d99338689213 100644
> --- a/drivers/gpio/gpio-mockup.c
> +++ b/drivers/gpio/gpio-mockup.c
> @@ -197,7 +197,7 @@ static ssize_t gpio_mockup_event_write(struct file *file,
>         struct seq_file *sfile;
>         struct gpio_desc *desc;
>         struct gpio_chip *gc;
> -       int status, val;
> +       int val;
>         char buf;
>
>         sfile = file->private_data;
> @@ -206,9 +206,8 @@ static ssize_t gpio_mockup_event_write(struct file *file,
>         chip = priv->chip;
>         gc = &chip->gc;
>
> -       status = copy_from_user(&buf, usr_buf, 1);
> -       if (status)
> -               return status;
> +       if (copy_from_user(&buf, usr_buf, 1))
> +               return -EFAULT;
>
>         if (buf == '0')
>                 val = 0;

Oops my bad.

Acked-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Linus Walleij Feb. 23, 2017, 1:52 p.m. UTC | #2
On Wed, Feb 15, 2017 at 12:02 AM, Dan Carpenter
<dan.carpenter@oracle.com> wrote:

> copy_from_user() returns the number of bytes remaining to be copied but
> we want to return negative error codes on failue.
>
> Fixes: 9202ba2397d1 ("gpio: mockup: implement event injecting over debugfs")
> Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>

Patch applied for fixes.

Yours,
Linus Walleij
--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/gpio/gpio-mockup.c b/drivers/gpio/gpio-mockup.c
index 06dac72cb69c..d99338689213 100644
--- a/drivers/gpio/gpio-mockup.c
+++ b/drivers/gpio/gpio-mockup.c
@@ -197,7 +197,7 @@  static ssize_t gpio_mockup_event_write(struct file *file,
 	struct seq_file *sfile;
 	struct gpio_desc *desc;
 	struct gpio_chip *gc;
-	int status, val;
+	int val;
 	char buf;
 
 	sfile = file->private_data;
@@ -206,9 +206,8 @@  static ssize_t gpio_mockup_event_write(struct file *file,
 	chip = priv->chip;
 	gc = &chip->gc;
 
-	status = copy_from_user(&buf, usr_buf, 1);
-	if (status)
-		return status;
+	if (copy_from_user(&buf, usr_buf, 1))
+		return -EFAULT;
 
 	if (buf == '0')
 		val = 0;