diff options
| author | Henrique de Moraes Holschuh <[email protected]> | 2008-06-03 23:36:11 -0300 |
|---|---|---|
| committer | Len Brown <[email protected]> | 2008-06-11 19:13:45 -0400 |
| commit | 24e45bbe695719dca8c20e03d386eb6ea86526b5 (patch) | |
| tree | db4b154bbeffe64d275bdfc05a0cc32259e1e54f /include/linux/timerqueue.h | |
| parent | 9c0a76e16ee6648f4bd19563e9fe12a4f4fabba1 (diff) | |
thinkpad-acpi: fix LED handling on older ThinkPads
The less tested codepaths for LED handling, used on ThinkPads 570, 600e/x,
770e, 770x, A21e, A2xm/p, T20-22, X20 and maybe a few others, would write
data to kernel memory it had no business touching, for leds number 3 and
above. If one is lucky, that illegal write would cause an OOPS, but
chances are it would silently corrupt a byte.
The problem was introduced in commit af116101, "ACPI: thinkpad-acpi: add
sysfs led class support to thinkpad leds (v3.2)".
Fix the bug by refactoring the entire code to be far more obvious on what
it wants to do. Also do some defensive "constification".
Issue reported by Karol Lewandowski <[email protected]> (he's an lucky guy
and got an OOPS instead of silent corruption :-) ).
Root cause of the OOPS identified by Adrian Bunk <[email protected]>.
Thanks, Adrian!
Signed-off-by: Henrique de Moraes Holschuh <[email protected]>
Tested-by: Karol Lewandowski <[email protected]>
Signed-off-by: Len Brown <[email protected]>
Diffstat (limited to 'include/linux/timerqueue.h')
0 files changed, 0 insertions, 0 deletions