Re: [GIT PATCH] ACPI patches for 2.6.25-rc5

Previous thread: question about PAE and buffercache by Adam Megacz on Wednesday, March 12, 2008 - 2:48 pm. (3 messages)

Next thread: Re: + revert-acpi-thermal-fixup.patch added to -mm tree by Zhang, Rui on Wednesday, March 12, 2008 - 11:02 pm. (1 message)
From: Len Brown
Date: Wednesday, March 12, 2008 - 11:14 pm

Hi Linus,

please pull from: 

git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6.git release

A bunch of small regression fixes, bug fixes, and a couple of minor cleanups.

FYI, some notes on the larger text changes:

Documentation/* moves some files around to complete a change
we started earlier in 2.6.25.

thermal.c updates the I/F we added in 2.6.25-rc1 to look how hwmon wants it.

pci_irq.c provides some DMI workarounds for interrupt related BIOS bugs.

snapshot.c fixes a hibernation regression (though it broke back in 2.6.22)

acer-wmi.c tweaks a driver that is new in 2.6.25-rc1 with some DMI hooks.

This will update the files shown below.

thanks!

-Len

ps. individual patches are available on linux-acpi@vger.kernel.org
and a consolidated plain patch is available here:
ftp://ftp.kernel.org/pub/linux/kernel/people/lenb/acpi/patches/release/2.6.25/acpi-rel...

 Documentation/00-INDEX                           |    6 -
 Documentation/filesystems/proc.txt               |    4 +-
 Documentation/kernel-parameters.txt              |    2 +-
 Documentation/laptops/00-INDEX                   |    2 +
 Documentation/laptops/acer-wmi.txt               |    4 +-
 Documentation/{ => laptops}/laptop-mode.txt      |    0 
 Documentation/power/00-INDEX                     |    6 +
 Documentation/{ => power}/pm.txt                 |    2 +-
 Documentation/{ => power}/pm_qos_interface.txt   |    0 
 Documentation/{ => power}/power_supply_class.txt |    0 
 Documentation/thermal/sysfs-api.txt              |   22 ++--
 arch/x86/Kconfig                                 |    2 +-
 drivers/acpi/Kconfig                             |   19 ++--
 drivers/acpi/bus.c                               |    2 +-
 drivers/acpi/button.c                            |    1 +
 drivers/acpi/ec.c                                |   17 ++-
 drivers/acpi/osl.c                               |    2 +-
 drivers/acpi/pci_irq.c                           |   98 ...
From: Andrew Morton
Date: Wednesday, March 12, 2008 - 11:45 pm

I hope Rafael knows how to cross-reference the regression fixes against his list?



I'm sitting on five ACPI patches which look like they (or alternatives?) should
be in 2.6.25:


http://userweb.kernel.org/~akpm/mmotm/broken-out/acpi-ec-revert-208c70a45624400fafd751...

  This was too poorly changelogged for me to remember what problem it
  solves, but it seemed important at the time.

http://userweb.kernel.org/~akpm/mmotm/broken-out/drivers-acpi-asus_acpic-correct-use-o...

  Fix logic error in asus_acpi.c

http://userweb.kernel.org/~akpm/mmotm/broken-out/drivers-acpi-asus_acpic-correct-use-o...

  Fix an overrun.

http://userweb.kernel.org/~akpm/mmotm/broken-out/revert-acpi-thermal-fixup.patch

  Hopeully fix a regression which Andrea Arcangeli hit.  Although I'm not sure
  that he has confirmed that this revert actually works?

http://userweb.kernel.org/~akpm/mmotm/broken-out/acpi-set-flag-dock_undocking-when-tri...

  Fix a system lockup related to undocking.


--

From: Zhang, Rui
Date: Wednesday, March 12, 2008 - 11:51 pm

Well, the patch looks good, this may be caused by a BIOS problem.
anyway, I wish to get the response from Andrea so that I can do some
investigation ASAP.

thanks,
rui


--

From: Andrea Arcangeli
Date: Thursday, March 13, 2008 - 5:55 am

Here attached again. syslog isn't available because by the time it
crash netconsole isn't up yet, but I try to compile it as module and
see if it crashes by loading it manually later after netconsole
started. (you didn't ask for syslog until today)

Hardware is ASUS M2A-VM ACPI BIOS Revision 1604.
From: Thomas Renninger
Date: Thursday, March 13, 2008 - 6:25 am

This is pretty sure fixed in 2.6.25-rc5.
 
It's probably this:
https://bugzilla.novell.com/show_bug.cgi?id=350017
It's fixed by:
c8d16e27a3601d1cbcdfe657eb4ff5e762019e8d
-> fixing the memory corruption
b6a163875935ce8e8e85901a7f2b68f7a314d914
-> check the pointer which is now not corrupted anymore, but NULL.

Hmm, the commits are only in Len's tree and have not hit
Linus' tree yet.


--

From: Thomas Renninger
Date: Thursday, March 13, 2008 - 6:50 am

If you want to give them a try..., these are the patches which should
fix this BIOS issue (from Len's release branch):

commit c8d16e27a3601d1cbcdfe657eb4ff5e762019e8d
Author: Lin Ming <ming.m.lin@intel.com>
Date:   Fri Feb 29 07:38:54 2008 +0800

    ACPI: fix boot oops regression in thermal
    
    Fix a memory overflow bug when copying
    NULL internal package element object to external.
    
    http://bugzilla.kernel.org/show_bug.cgi?id=10132
    
    Signed-off-by: Lin Ming <ming.m.lin@intel.com>
    Signed-off-by: Zhang Rui <rui.zhang@intel.com>
    Signed-off-by: Len Brown <len.brown@intel.com>

diff --git a/drivers/acpi/utilities/utobject.c b/drivers/acpi/utilities/utobject.c
index 76ee766..e08b3fa 100644
--- a/drivers/acpi/utilities/utobject.c
+++ b/drivers/acpi/utilities/utobject.c
@@ -432,7 +432,7 @@ acpi_ut_get_simple_object_size(union acpi_operand_object *internal_object,
 	 * element -- which is legal)
 	 */
 	if (!internal_object) {
-		*obj_length = 0;
+		*obj_length = sizeof(union acpi_object);
 		return_ACPI_STATUS(AE_OK);
 	}
 

commit b6a163875935ce8e8e85901a7f2b68f7a314d914
Author: Thomas Renninger <trenn@suse.de>
Date:   Wed Mar 12 01:06:24 2008 +0100

    ACPICA: Warn if packages with invalid references are evaluated
    
    And return an error to avoid NULL pointer access by the caller
    Lin Ming's patch avoids corrupted mem access when
    BIOS has invalid references included, the handle is now zero
    instead of corrupted.
    
    Signed-off-by: Thomas Renninger <trenn@suse.de>
    Signed-off-by: Lin Ming <ming.m.lin@intel.com>
    Signed-off-by: Len Brown <len.brown@intel.com>

diff --git a/drivers/acpi/utils.c b/drivers/acpi/utils.c
index eba55b7..44ea60c 100644
--- a/drivers/acpi/utils.c
+++ b/drivers/acpi/utils.c
@@ -407,6 +407,12 @@ acpi_evaluate_reference(acpi_handle handle,
 			break;
 		}
 
+		if (!element->reference.handle) {
+			printk(KERN_WARNING PREFIX "Invalid reference in"
+			       " package %s\n", ...
From: Len Brown
Date: Thursday, March 13, 2008 - 12:38 am

Rafael files them in bugzilla, if they're not already there.
I close them when the patches hit upstream.





I'm waiting for Kristen to Ack/Nak that one.

thanks,
-Len


--

From: Andrew Morton
Date: Thursday, March 13, 2008 - 12:50 am

From: Len Brown
Date: Thursday, March 13, 2008 - 12:33 pm

Yes, that one is included in this batch also.
it is bugzilla 10132

thanks,
-Len
--

From: Andrea Arcangeli
Date: Thursday, March 13, 2008 - 5:50 am

Last time I tried it fixed my boot failure (I found it by bisecting).

Thanks.
--

From: Len Brown
Date: Thursday, March 13, 2008 - 10:49 am

Thanks for the reply, Andrea,

Does your system still fail running the latest ACPI release patch?

You can get it here:

git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6.git release

or check out Linus' top of tree and apply the plain patch:
ftp://ftp.kernel.org/pub/linux/kernel/people/lenb/acpi/patches/release/2.6.25/acpi-rel...

If no, does applying
http://userweb.kernel.org/~akpm/mmotm/broken-out/revert-acpi-thermal-fixup.patch
still fix the issue?

thanks,
-Len
--

From: Andrea Arcangeli
Date: Thursday, March 13, 2008 - 5:28 pm

This fixed my problem thanks.
--

Previous thread: question about PAE and buffercache by Adam Megacz on Wednesday, March 12, 2008 - 2:48 pm. (3 messages)

Next thread: Re: + revert-acpi-thermal-fixup.patch added to -mm tree by Zhang, Rui on Wednesday, March 12, 2008 - 11:02 pm. (1 message)