Locking in LED core really not needed or missing?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I'm a little puzzled about the more or less completely missing locking in the LED core.

Let's just take led_timer_function as example.
It modifies led_cdev->flags and led_cdev->brightness from soft irq context
(soft blink timer) w/o locking. Accessing these fields is not guaranteed to be atomic
and the function doesn't even use set_bit etc. for modifying the bitmap.

And brightness_set and other exported functions can even be called from
hard irq context (e.g. by triggers).

This seems to be quite unsafe to me. Just think of a soft or hard irq colliding
with a sysfs access. IMHO it's just due to the fact that these collision scenarios
are relatively unlikely that we don't have problems.
Am I missing something or is this actually an open issue?
--
To unsubscribe from this list: send the line "unsubscribe linux-leds" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux