2021-02-07 09:03:04

by Yang Li

[permalink] [raw]
Subject: [PATCH] gpiolib: cdev: convert stream-like files from

Eliminate the following coccicheck warning:
./drivers/gpio/gpiolib-cdev.c:2307:7-23: WARNING: gpio_fileops: .read()
has stream semantic; safe to change nonseekable_open -> stream_open.

Reported-by: Abaci Robot <[email protected]>
Signed-off-by: Yang Li <[email protected]>
---
drivers/gpio/gpiolib-cdev.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpio/gpiolib-cdev.c b/drivers/gpio/gpiolib-cdev.c
index 1631727..bad68ef 100644
--- a/drivers/gpio/gpiolib-cdev.c
+++ b/drivers/gpio/gpiolib-cdev.c
@@ -2304,7 +2304,7 @@ static int gpio_chrdev_open(struct inode *inode, struct file *file)
get_device(&gdev->dev);
file->private_data = cdev;

- ret = nonseekable_open(inode, file);
+ ret = stream_open(inode, file);
if (ret)
goto out_unregister_notifier;

--
1.8.3.1


2021-02-08 06:01:10

by Bartosz Golaszewski

[permalink] [raw]
Subject: Re: [PATCH] gpiolib: cdev: convert stream-like files from

On Sun, Feb 7, 2021 at 10:00 AM Yang Li <[email protected]> wrote:
>
> Eliminate the following coccicheck warning:
> ./drivers/gpio/gpiolib-cdev.c:2307:7-23: WARNING: gpio_fileops: .read()
> has stream semantic; safe to change nonseekable_open -> stream_open.
>
> Reported-by: Abaci Robot <[email protected]>
> Signed-off-by: Yang Li <[email protected]>
> ---
> drivers/gpio/gpiolib-cdev.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpio/gpiolib-cdev.c b/drivers/gpio/gpiolib-cdev.c
> index 1631727..bad68ef 100644
> --- a/drivers/gpio/gpiolib-cdev.c
> +++ b/drivers/gpio/gpiolib-cdev.c
> @@ -2304,7 +2304,7 @@ static int gpio_chrdev_open(struct inode *inode, struct file *file)
> get_device(&gdev->dev);
> file->private_data = cdev;
>
> - ret = nonseekable_open(inode, file);
> + ret = stream_open(inode, file);
> if (ret)
> goto out_unregister_notifier;
>
> --
> 1.8.3.1
>

I think you have a false positive here - we don't even take the offset
argument into account so I don't see how the line_watch_read callback
could be interpreted as seekable.

Bart

2021-02-12 09:06:03

by Linus Walleij

[permalink] [raw]
Subject: Re: [PATCH] gpiolib: cdev: convert stream-like files from

On Sun, Feb 7, 2021 at 10:00 AM Yang Li <[email protected]> wrote:

> Eliminate the following coccicheck warning:
> ./drivers/gpio/gpiolib-cdev.c:2307:7-23: WARNING: gpio_fileops: .read()
> has stream semantic; safe to change nonseekable_open -> stream_open.
>
> Reported-by: Abaci Robot <[email protected]>
> Signed-off-by: Yang Li <[email protected]>

This doesn't make any sense to me.

It is pretty clear from context that this file should *not* be
seeked and it seems just dangerous to randomly allow that.
Better safe than sorry.

I don't know if the function nonseekable_open() has an unintuitive
name if it means anything else than that. I burnt myself on the FS
before.

Yours,
Linus Walleij