Subject : BUG: linux-2.6.26-rc1 oops at thinkpad_acpi:led_set_status Submitter : Karol Lewandowski <lmctlx@gmail.com> Date : 2008-05-08 23:12 References : http://marc.info/?l=linux-kernel&m=121028841527994&w=4 Handled-By : Henrique de Moraes Holschuh <hmh@hmh.eng.br> This entry is being used for tracking a regression from 2.6.25. Please don't close it until the problem is fixed in the mainline.
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