On Wed, Jun 25, 2014 at 10:08 AM, Johan Hovold <johan@xxxxxxxxxx> wrote: > LED-class device attributes should be created using the attribute groups > of struct device, rather than be added manually after the device has > been registered in order to avoid racing with userspace. > > The first patch adds an attribute groups field to struct led_classdev, > which is used during registration to add device attributes in a > race-free manner. > > The remaining patches convert the current racy LED-device attribute > creations to use the new facility. Hopefully my grep-patterns have > caught most instances. Note that this also tends to simplify probe error > paths. > > The lp55xx-common failed to remove the attribute group it is currently > creating, something which is fixed separately. > > Note that this series include one driver from drivers/input/keyboard. > > The individual led-driver patches have been compile tested only. > Thanks a lot for driving this. I will applied this patchset into my -devel branch. After I got the Ack from Input guys, I will apply it to my for-next branch then. -Bryan > Johan > > > Johan Hovold (13): > leds: add led-class attribute-group support > leds: lm3550: fix attribute-creation race > leds: lm3533: fix attribute-creation race > leds: lm355x: fix attribute-creation race > leds: lm3642: fix attribute-creation race > leds: max8997: fix attribute-creation race > leds: netxbig: fix attribute-creation race > leds: ns2: fix attribute-creation race > leds: ss4200: fix attribute-creation race > leds: wm831x-status: fix attribute-creation race > input: lm8323: fix attribute-creation race > leds: lp55xx-common: fix sysfs entry leak > leds: lp55xx-common: fix attribute-creation race > > drivers/input/keyboard/lm8323.c | 22 +++++++++------------- > drivers/leds/led-class.c | 5 +++-- > drivers/leds/leds-lm3530.c | 20 +++++++------------- > drivers/leds/leds-lm3533.c | 20 ++++++++------------ > drivers/leds/leds-lm355x.c | 21 +++++++++------------ > drivers/leds/leds-lm3642.c | 30 ++++++++++++++---------------- > drivers/leds/leds-lp55xx-common.c | 20 +++----------------- > drivers/leds/leds-max8997.c | 16 +++++++--------- > drivers/leds/leds-netxbig.c | 26 ++++++++++++-------------- > drivers/leds/leds-ns2.c | 16 +++++++--------- > drivers/leds/leds-ss4200.c | 14 +++++++++----- > drivers/leds/leds-wm831x-status.c | 23 +++++++++-------------- > include/linux/leds.h | 2 ++ > 13 files changed, 99 insertions(+), 136 deletions(-) > > -- > 1.8.5.5 > -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html