linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] HID: vivaldi: fix sysfs attributes leak
@ 2022-02-26  1:18 Dmitry Torokhov
  2022-02-26  4:55 ` Stephen Boyd
  2022-03-01 14:31 ` Jiri Kosina
  0 siblings, 2 replies; 6+ messages in thread
From: Dmitry Torokhov @ 2022-02-26  1:18 UTC (permalink / raw)
  To: Jiri Kosina, Benjamin Tissoires
  Cc: Stephen Boyd, Sean O'Brien, linux-input, linux-kernel

The driver creates the top row map sysfs attribute in input_configured()
method; unfortunately we do not have a callback that is executed when HID
interface is unbound, thus we are leaking these sysfs attributes, for
example when device is disconnected.

To fix it let's switch to managed version of adding sysfs attributes which
will ensure that they are destroyed when the driver is unbound.

Fixes: 14c9c014babe ("HID: add vivaldi HID driver")
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
---

Compiled only.

 drivers/hid/hid-vivaldi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/hid/hid-vivaldi.c b/drivers/hid/hid-vivaldi.c
index efa6140915f4..42ceb2058a09 100644
--- a/drivers/hid/hid-vivaldi.c
+++ b/drivers/hid/hid-vivaldi.c
@@ -144,7 +144,7 @@ static void vivaldi_feature_mapping(struct hid_device *hdev,
 static int vivaldi_input_configured(struct hid_device *hdev,
 				    struct hid_input *hidinput)
 {
-	return sysfs_create_group(&hdev->dev.kobj, &input_attribute_group);
+	return devm_device_add_group(&hdev->dev, &input_attribute_group);
 }
 
 static const struct hid_device_id vivaldi_table[] = {
-- 
2.35.1.574.g5d30c73bfb-goog


-- 
Dmitry

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

* Re: [PATCH] HID: vivaldi: fix sysfs attributes leak
  2022-02-26  1:18 [PATCH] HID: vivaldi: fix sysfs attributes leak Dmitry Torokhov
@ 2022-02-26  4:55 ` Stephen Boyd
  2022-02-26  6:00   ` Dmitry Torokhov
  2022-03-01 14:31 ` Jiri Kosina
  1 sibling, 1 reply; 6+ messages in thread
From: Stephen Boyd @ 2022-02-26  4:55 UTC (permalink / raw)
  To: Benjamin Tissoires, Dmitry Torokhov, Jiri Kosina
  Cc: Sean O'Brien, linux-input, linux-kernel

Quoting Dmitry Torokhov (2022-02-25 17:18:58)
> The driver creates the top row map sysfs attribute in input_configured()
> method; unfortunately we do not have a callback that is executed when HID
> interface is unbound, thus we are leaking these sysfs attributes, for
> example when device is disconnected.
>
> To fix it let's switch to managed version of adding sysfs attributes which
> will ensure that they are destroyed when the driver is unbound.
>
> Fixes: 14c9c014babe ("HID: add vivaldi HID driver")
> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> ---

Makes sense

Tested-by: Stephen Boyd <swboyd@chromium.org>
Reviewed-by: Stephen Boyd <swboyd@chromium.org>

will you make a similar change for the hid-google-hammer driver?

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

* Re: [PATCH] HID: vivaldi: fix sysfs attributes leak
  2022-02-26  4:55 ` Stephen Boyd
@ 2022-02-26  6:00   ` Dmitry Torokhov
  0 siblings, 0 replies; 6+ messages in thread
From: Dmitry Torokhov @ 2022-02-26  6:00 UTC (permalink / raw)
  To: Stephen Boyd
  Cc: Benjamin Tissoires, Jiri Kosina, Sean O'Brien, linux-input,
	linux-kernel

On Fri, Feb 25, 2022 at 08:55:26PM -0800, Stephen Boyd wrote:
> Quoting Dmitry Torokhov (2022-02-25 17:18:58)
> > The driver creates the top row map sysfs attribute in input_configured()
> > method; unfortunately we do not have a callback that is executed when HID
> > interface is unbound, thus we are leaking these sysfs attributes, for
> > example when device is disconnected.
> >
> > To fix it let's switch to managed version of adding sysfs attributes which
> > will ensure that they are destroyed when the driver is unbound.
> >
> > Fixes: 14c9c014babe ("HID: add vivaldi HID driver")
> > Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> > ---
> 
> Makes sense
> 
> Tested-by: Stephen Boyd <swboyd@chromium.org>
> Reviewed-by: Stephen Boyd <swboyd@chromium.org>
> 
> will you make a similar change for the hid-google-hammer driver?

Yeah, I was taking a closer look at your series and that was the result
of it.

Thanks.

-- 
Dmitry

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

* Re: [PATCH] HID: vivaldi: fix sysfs attributes leak
  2022-02-26  1:18 [PATCH] HID: vivaldi: fix sysfs attributes leak Dmitry Torokhov
  2022-02-26  4:55 ` Stephen Boyd
@ 2022-03-01 14:31 ` Jiri Kosina
  2022-03-08 21:13   ` Dmitry Torokhov
  1 sibling, 1 reply; 6+ messages in thread
From: Jiri Kosina @ 2022-03-01 14:31 UTC (permalink / raw)
  To: Dmitry Torokhov
  Cc: Benjamin Tissoires, Stephen Boyd, Sean O'Brien, linux-input,
	linux-kernel

On Fri, 25 Feb 2022, Dmitry Torokhov wrote:

> The driver creates the top row map sysfs attribute in input_configured()
> method; unfortunately we do not have a callback that is executed when HID
> interface is unbound, thus we are leaking these sysfs attributes, for
> example when device is disconnected.
> 
> To fix it let's switch to managed version of adding sysfs attributes which
> will ensure that they are destroyed when the driver is unbound.
> 
> Fixes: 14c9c014babe ("HID: add vivaldi HID driver")
> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> ---
> 
> Compiled only.
> 
>  drivers/hid/hid-vivaldi.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/hid/hid-vivaldi.c b/drivers/hid/hid-vivaldi.c
> index efa6140915f4..42ceb2058a09 100644
> --- a/drivers/hid/hid-vivaldi.c
> +++ b/drivers/hid/hid-vivaldi.c
> @@ -144,7 +144,7 @@ static void vivaldi_feature_mapping(struct hid_device *hdev,
>  static int vivaldi_input_configured(struct hid_device *hdev,
>  				    struct hid_input *hidinput)
>  {
> -	return sysfs_create_group(&hdev->dev.kobj, &input_attribute_group);
> +	return devm_device_add_group(&hdev->dev, &input_attribute_group);
>  }
>  
>  static const struct hid_device_id vivaldi_table[] = {

Applied, thanks Dmitry.

-- 
Jiri Kosina
SUSE Labs


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

* Re: [PATCH] HID: vivaldi: fix sysfs attributes leak
  2022-03-01 14:31 ` Jiri Kosina
@ 2022-03-08 21:13   ` Dmitry Torokhov
  2022-03-09 10:42     ` Jiri Kosina
  0 siblings, 1 reply; 6+ messages in thread
From: Dmitry Torokhov @ 2022-03-08 21:13 UTC (permalink / raw)
  To: Jiri Kosina
  Cc: Benjamin Tissoires, Stephen Boyd, Sean O'Brien, linux-input, lkml

On Tue, Mar 1, 2022 at 6:31 AM Jiri Kosina <jikos@kernel.org> wrote:
>
> On Fri, 25 Feb 2022, Dmitry Torokhov wrote:
>
> > The driver creates the top row map sysfs attribute in input_configured()
> > method; unfortunately we do not have a callback that is executed when HID
> > interface is unbound, thus we are leaking these sysfs attributes, for
> > example when device is disconnected.
> >
> > To fix it let's switch to managed version of adding sysfs attributes which
> > will ensure that they are destroyed when the driver is unbound.
> >
> > Fixes: 14c9c014babe ("HID: add vivaldi HID driver")
> > Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> > ---
> >
> > Compiled only.
> >
> >  drivers/hid/hid-vivaldi.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/hid/hid-vivaldi.c b/drivers/hid/hid-vivaldi.c
> > index efa6140915f4..42ceb2058a09 100644
> > --- a/drivers/hid/hid-vivaldi.c
> > +++ b/drivers/hid/hid-vivaldi.c
> > @@ -144,7 +144,7 @@ static void vivaldi_feature_mapping(struct hid_device *hdev,
> >  static int vivaldi_input_configured(struct hid_device *hdev,
> >                                   struct hid_input *hidinput)
> >  {
> > -     return sysfs_create_group(&hdev->dev.kobj, &input_attribute_group);
> > +     return devm_device_add_group(&hdev->dev, &input_attribute_group);
> >  }
> >
> >  static const struct hid_device_id vivaldi_table[] = {
>
> Applied, thanks Dmitry.

Jiri, are you planning to send this for 5.17 or 5.18?

Thanks.

-- 
Dmitry

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

* Re: [PATCH] HID: vivaldi: fix sysfs attributes leak
  2022-03-08 21:13   ` Dmitry Torokhov
@ 2022-03-09 10:42     ` Jiri Kosina
  0 siblings, 0 replies; 6+ messages in thread
From: Jiri Kosina @ 2022-03-09 10:42 UTC (permalink / raw)
  To: Dmitry Torokhov
  Cc: Benjamin Tissoires, Stephen Boyd, Sean O'Brien, linux-input, lkml

On Tue, 8 Mar 2022, Dmitry Torokhov wrote:

> Jiri, are you planning to send this for 5.17 or 5.18?

Hi Dmitry,

I've sent it to Linus for 5.17-rc still earlier today.

-- 
Jiri Kosina
SUSE Labs


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

end of thread, other threads:[~2022-03-09 10:42 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-02-26  1:18 [PATCH] HID: vivaldi: fix sysfs attributes leak Dmitry Torokhov
2022-02-26  4:55 ` Stephen Boyd
2022-02-26  6:00   ` Dmitry Torokhov
2022-03-01 14:31 ` Jiri Kosina
2022-03-08 21:13   ` Dmitry Torokhov
2022-03-09 10:42     ` Jiri Kosina

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).