[patch 08/20] ACPICA: Fixed possible corruption of global GPE list

Greg KH
2007-08-21T06:54:47Z

[-- Attachment #1: acpica-fixed-possible-corruption-of-global-gpe-list.patch --]
[-- Type: text/plain, Size: 1045 bytes --]

-stable review patch. If anyone has any objections, please let us know.

------------------
From: Bob Moore <robert.moore@intel.com>

ACPICA: Fixed possible corruption of global GPE list

Fixed a problem in acpi_ev_delete_gpe_xrupt where the global interrupt
list could be corrupted if the interrupt being removed was at
the head of the list. Reported by Linn Crosetto.

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Cc: Chuck Ebbert <cebbert@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
drivers/acpi/events/evgpeblk.c | 4 ++++
1 file changed, 4 insertions(+)

--- a/drivers/acpi/events/evgpeblk.c
+++ b/drivers/acpi/events/evgpeblk.c
@@ -586,6 +586,10 @@ acpi_ev_delete_gpe_xrupt(struct acpi_gpe
flags = acpi_os_acquire_lock(acpi_gbl_gpe_lock);
if (gpe_xrupt->previous) {
gpe_xrupt->previous->next = gpe_xrupt->next;
+ } else {
+ /* No previous, update list head */
+
+ acpi_gbl_gpe_xrupt_list_head = gpe_xrupt->next;
}

if (gpe_xrupt->next) {

--