Bug 10670
Summary: | BUG: linux-2.6.26-rc1 oops at thinkpad_acpi:led_set_status | ||
---|---|---|---|
Product: | Drivers | Reporter: | Rafael J. Wysocki (rjw) |
Component: | Platform | Assignee: | Henrique de Moraes Holschuh (hmh) |
Status: | CLOSED PATCH_ALREADY_AVAILABLE | ||
Severity: | normal | CC: | acpi-bugzilla, bunk, hmh, lmctlx |
Priority: | P1 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | 2.6.26-rc1 | Subsystem: | |
Regression: | Yes | Bisected commit-id: | |
Bug Depends on: | |||
Bug Blocks: | 10492 | ||
Attachments: |
Object code generated by the compiler
[PATCH] ACPI: thinkpad-acpi: fix LED handling on older ThinkPads |
Description
Rafael J. Wysocki
2008-05-11 12:46:24 UTC
So far, this looks like a compiler bug. Here's the data I got from the bug reporter. Bug shows up when compiling the kernel with no stack frames, and -Os. Affected GCC version: gcc (GCC) 4.1.2 20061115 (prerelease) (Debian 4.1.1-21) Created attachment 16104 [details]
Object code generated by the compiler
The tarball contains two files sent by the reporter of the bug.
fp means frame-pointer. This thinkpad-acpi does NOT exibit the OOPS.
nofp means no-frame-pointer. This thinkpad-acpi DOES exibit the OOPS.
I request help from someone which understands gcc to verify if it is indeed a compiler bug. Adrian Bunk found the problem: tpacpi_led_state_cache[led] = <something> could be used with led redefined to be (1 << led). This would overwrite random memory at positions tpacpi_led_state_cache[led] + 0x80/0x40/0x20/0x10/0x08. A fix will be ready soon. Created attachment 16153 [details]
[PATCH] ACPI: thinkpad-acpi: fix LED handling on older ThinkPads
Please test.
I can't reproduce oops with this patch. Bug fixed. Thanks. Regressions list annotation: References : http://lkml.org/lkml/2008/5/12/12 Regressions list annotation: Patch : http://bugzilla.kernel.org/attachment.cgi?id=16153&action=view Still waiting for merge upstream. mark this as resolved so Len can take it. fix is not in Linus' tree as commit 24e45bbe695719dca8c20e03d386eb6ea86526b5 |