From: Andy Shevchenko <andy.shevchenko@gmail•com>
To: George Stark <gnstark@salutedevices•com>
Cc: linuxppc-dev@lists•ozlabs.org, vadimp@nvidia•com,
mazziesaccount@gmail•com, peterz@infradead•org,
boqun.feng@gmail•com, lee@kernel•org, kernel@salutedevices•com,
linux-kernel@vger•kernel.org, npiggin@gmail•com,
hdegoede@redhat•com, mingo@redhat•com, pavel@ucw•cz,
longman@redhat•com, nikitos.tr@gmail•com, will@kernel•org,
linux-leds@vger•kernel.org
Subject: Re: [PATCH v4 00/10] devm_led_classdev_register() usage problem
Date: Fri, 9 Feb 2024 19:17:58 +0200 [thread overview]
Message-ID: <ZcZeRmVjEPhVPW9-@smile.fi.intel.com> (raw)
In-Reply-To: <20231214173614.2820929-1-gnstark@salutedevices.com>
On Thu, Dec 14, 2023 at 08:36:04PM +0300, George Stark wrote:
> This patch series fixes the problem of devm_led_classdev_register misusing.
>
> The basic problem is described in [1]. Shortly when devm_led_classdev_register()
> is used then led_classdev_unregister() called after driver's remove() callback.
> led_classdev_unregister() calls driver's brightness_set callback and that callback
> may use resources which were destroyed already in driver's remove().
>
> After discussion with maintainers [2] [3] we decided:
> 1) don't touch led subsytem core code and don't remove led_set_brightness() from it
> but fix drivers
> 2) don't use devm_led_classdev_unregister
>
> So the solution is to use devm wrappers for all resources
> driver's brightness_set() depends on. And introduce dedicated devm wrapper
> for mutex as it's often used resource.
>
> [1] https://lore.kernel.org/lkml/8704539b-ed3b-44e6-aa82-586e2f895e2b@salutedevices.com/T/
> [2] https://lore.kernel.org/lkml/8704539b-ed3b-44e6-aa82-586e2f895e2b@salutedevices.com/T/#mc132b9b350fa51931b4fcfe14705d9f06e91421f
> [3] https://lore.kernel.org/lkml/8704539b-ed3b-44e6-aa82-586e2f895e2b@salutedevices.com/T/#mdbf572a85c33f869a553caf986b6228bb65c8383
Are you going to send an updated version with the amended second patch?
--
With Best Regards,
Andy Shevchenko
prev parent reply other threads:[~2024-02-09 17:18 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-14 17:36 [PATCH v4 00/10] devm_led_classdev_register() usage problem George Stark
2023-12-14 17:36 ` [PATCH v4 01/10] leds: aw2013: unlock mutex before destroying it George Stark
2024-02-23 15:07 ` (subset) " Lee Jones
2023-12-14 17:36 ` [PATCH v4 02/10] locking: introduce devm_mutex_init George Stark
2023-12-14 18:48 ` Waiman Long
2023-12-14 19:53 ` Christophe Leroy
2023-12-14 21:48 ` Waiman Long
2023-12-15 5:46 ` Christophe Leroy
2023-12-17 1:05 ` George Stark
2023-12-17 9:31 ` Christophe Leroy
2023-12-18 13:26 ` George Stark
2023-12-14 19:47 ` Christophe Leroy
2023-12-15 6:22 ` [PATCH RFC v4-bis] " Christophe Leroy
2023-12-15 15:58 ` Andy Shevchenko
2023-12-15 17:51 ` Christophe Leroy
2023-12-16 1:30 ` Waiman Long
2023-12-14 17:36 ` [PATCH v4 03/10] leds: aw2013: use devm API to cleanup module's resources George Stark
2023-12-14 17:36 ` [PATCH v4 04/10] leds: aw200xx: " George Stark
2023-12-14 17:36 ` [PATCH v4 05/10] leds: lp3952: " George Stark
2023-12-14 17:36 ` [PATCH v4 06/10] leds: lm3532: " George Stark
2023-12-14 17:36 ` [PATCH v4 07/10] leds: nic78bx: " George Stark
2023-12-14 17:36 ` [PATCH v4 08/10] leds: mlxreg: use devm_mutex_init for mutex initializtion George Stark
2023-12-14 17:36 ` [PATCH v4 09/10] leds: an30259a: use devm_mutext_init for mutext initialization George Stark
2023-12-14 17:36 ` [PATCH v4 10/10] leds: powernv: use LED_RETAIN_AT_SHUTDOWN flag for leds George Stark
2023-12-21 15:11 ` [PATCH v4 00/10] devm_led_classdev_register() usage problem Lee Jones
2024-02-09 17:11 ` Andy Shevchenko
2024-02-11 23:52 ` [DMARC error][SPF error] " George Stark
2024-02-12 9:53 ` Andy Shevchenko
2024-02-13 0:14 ` George Stark
2024-02-13 10:55 ` Andy Shevchenko
2024-02-13 23:56 ` George Stark
2024-02-09 17:17 ` Andy Shevchenko [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZcZeRmVjEPhVPW9-@smile.fi.intel.com \
--to=andy.shevchenko@gmail$(echo .)com \
--cc=boqun.feng@gmail$(echo .)com \
--cc=gnstark@salutedevices$(echo .)com \
--cc=hdegoede@redhat$(echo .)com \
--cc=kernel@salutedevices$(echo .)com \
--cc=lee@kernel$(echo .)org \
--cc=linux-kernel@vger$(echo .)kernel.org \
--cc=linux-leds@vger$(echo .)kernel.org \
--cc=linuxppc-dev@lists$(echo .)ozlabs.org \
--cc=longman@redhat$(echo .)com \
--cc=mazziesaccount@gmail$(echo .)com \
--cc=mingo@redhat$(echo .)com \
--cc=nikitos.tr@gmail$(echo .)com \
--cc=npiggin@gmail$(echo .)com \
--cc=pavel@ucw$(echo .)cz \
--cc=peterz@infradead$(echo .)org \
--cc=vadimp@nvidia$(echo .)com \
--cc=will@kernel$(echo .)org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox