2020-05-07 15:16:39

by Chuhong Yuan

[permalink] [raw]
Subject: [PATCH] uio_hv_generic: add missed sysfs_remove_bin_file

This driver calls sysfs_create_bin_file() in probe, but forgets to
call sysfs_remove_bin_file() in remove.
Add the missed call to fix it.

Signed-off-by: Chuhong Yuan <[email protected]>
---
drivers/uio/uio_hv_generic.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/uio/uio_hv_generic.c b/drivers/uio/uio_hv_generic.c
index 3c5169eb23f5..4dae2320b103 100644
--- a/drivers/uio/uio_hv_generic.c
+++ b/drivers/uio/uio_hv_generic.c
@@ -361,6 +361,7 @@ hv_uio_remove(struct hv_device *dev)
if (!pdata)
return 0;

+ sysfs_remove_bin_file(&dev->channel->kobj, &ring_buffer_bin_attr);
uio_unregister_device(&pdata->info);
hv_uio_cleanup(dev, pdata);
hv_set_drvdata(dev, NULL);
--
2.26.2


2020-05-07 16:40:41

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH] uio_hv_generic: add missed sysfs_remove_bin_file

On Thu, May 07, 2020 at 11:13:43PM +0800, Chuhong Yuan wrote:
> This driver calls sysfs_create_bin_file() in probe, but forgets to
> call sysfs_remove_bin_file() in remove.
> Add the missed call to fix it.
>
> Signed-off-by: Chuhong Yuan <[email protected]>
> ---
> drivers/uio/uio_hv_generic.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/uio/uio_hv_generic.c b/drivers/uio/uio_hv_generic.c
> index 3c5169eb23f5..4dae2320b103 100644
> --- a/drivers/uio/uio_hv_generic.c
> +++ b/drivers/uio/uio_hv_generic.c
> @@ -361,6 +361,7 @@ hv_uio_remove(struct hv_device *dev)
> if (!pdata)
> return 0;
>
> + sysfs_remove_bin_file(&dev->channel->kobj, &ring_buffer_bin_attr);
> uio_unregister_device(&pdata->info);
> hv_uio_cleanup(dev, pdata);
> hv_set_drvdata(dev, NULL);


I'll take this, but it's not always needed as all sysfs files are
removed from the device when it is removed from sysfs anyway. So this
shouldn't be an issue in a real system.

thanks,

greg k-h