rpms/kernel/F-9 linux-2.6-acpi-fix-error-with-external-methods.patch, NONE, 1.1 linux-2.6-acpi-fix-sizeof.patch, NONE, 1.1 kernel.spec, 1.669, 1.670

Chuck Ebbert (cebbert) fedora-extras-commits at redhat.com
Mon Jun 9 21:11:18 UTC 2008


Author: cebbert

Update of /cvs/pkgs/rpms/kernel/F-9
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv3859

Modified Files:
	kernel.spec 
Added Files:
	linux-2.6-acpi-fix-error-with-external-methods.patch 
	linux-2.6-acpi-fix-sizeof.patch 
Log Message:
* Mon Jun 09 2008 Chuck Ebbert <cebbert at redhat.com> 2.6.25.6-51
- Sync ACPI patches with F-8 kernel.


linux-2.6-acpi-fix-error-with-external-methods.patch:

--- NEW FILE linux-2.6-acpi-fix-error-with-external-methods.patch ---
From: Bob Moore <robert.moore at intel.com>
Date: Thu, 10 Apr 2008 15:06:43 +0000 (+0400)
Subject: ACPICA: Fix for possible error when packages/buffers are passed to methods externally
X-Git-Tag: v2.6.26-rc1~101^2~12
X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=24a3157a90ddf851a0880c0b8963bc43481cd85b

ACPICA: Fix for possible error when packages/buffers are passed to methods externally

Fixed a problem where buffer and package objects passed as
arguments to a control method via the external AcpiEvaluateObject
interface could cause an AE_AML_INTERNAL exception depending on the
order and type of operators executed by the target control method.

Signed-off-by: Bob Moore <robert.moore at intel.com>
Signed-off-by: Alexey Starikovskiy <astarikovskiy at suse.de>
Signed-off-by: Len Brown <len.brown at intel.com>
---

diff --git a/drivers/acpi/utilities/utcopy.c b/drivers/acpi/utilities/utcopy.c
index 4c4021d..4e9a62b 100644
--- a/drivers/acpi/utilities/utcopy.c
+++ b/drivers/acpi/utilities/utcopy.c
@@ -511,6 +511,10 @@ acpi_ut_copy_esimple_to_isimple(union acpi_object *external_object,
 			    external_object->buffer.length);
 
 		internal_object->buffer.length = external_object->buffer.length;
+
+		/* Mark buffer data valid */
+
+		internal_object->buffer.flags |= AOPOBJ_DATA_VALID;
 		break;
 
 	case ACPI_TYPE_INTEGER:
@@ -586,6 +590,10 @@ acpi_ut_copy_epackage_to_ipackage(union acpi_object *external_object,
 		}
 	}
 
+	/* Mark package data valid */
+
+	package_object->package.flags |= AOPOBJ_DATA_VALID;
+
 	*internal_object = package_object;
 	return_ACPI_STATUS(status);
 }

linux-2.6-acpi-fix-sizeof.patch:

--- NEW FILE linux-2.6-acpi-fix-sizeof.patch ---
Gitweb:     http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8246934b7cf99d1f0c053d57890775e5d0df9c33
Commit:     8246934b7cf99d1f0c053d57890775e5d0df9c33
Parent:     c351f2dd542a3980e96cf128e06d19f784c5ea3e
Author:     Lin Ming <ming.m.lin at intel.com>
AuthorDate: Thu Apr 10 19:06:41 2008 +0400
Committer:  Len Brown <len.brown at intel.com>
CommitDate: Tue Apr 22 14:29:29 2008 -0400

    ACPICA: Fix for SizeOf when used with Buffers and Packages
    
    Fixed a problem with the SizeOf operator when used with Package
    and Buffer objects. These objects have deferred execution for some
    arguments, and the execution is now completed before the SizeOf is
    executed. This problem caused unexpected AE_PACKAGE_LIMIT errors
    on some systems.
    
    http://bugzilla.kernel.org/show_bug.cgi?id=9558
    
    Signed-off-by: Lin Ming <ming.m.lin at intel.com>
    Signed-off-by: Bob Moore <robert.moore at intel.com>
    Signed-off-by: Alexey Starikovskiy <astarikovskiy at suse.de>
    Signed-off-by: Len Brown <len.brown at intel.com>
---
 drivers/acpi/executer/exoparg1.c |   22 +++++++++++++++++-----
 1 files changed, 17 insertions(+), 5 deletions(-)

diff --git a/drivers/acpi/executer/exoparg1.c b/drivers/acpi/executer/exoparg1.c
index ab5c037..313803b 100644
--- a/drivers/acpi/executer/exoparg1.c
+++ b/drivers/acpi/executer/exoparg1.c
@@ -740,26 +740,38 @@ acpi_status acpi_ex_opcode_1A_0T_1R(struct acpi_walk_state *walk_state)
 			value = acpi_gbl_integer_byte_width;
 			break;
 
-		case ACPI_TYPE_BUFFER:
-			value = temp_desc->buffer.length;
-			break;
-
 		case ACPI_TYPE_STRING:
 			value = temp_desc->string.length;
 			break;
 
+		case ACPI_TYPE_BUFFER:
+
+			/* Buffer arguments may not be evaluated at this point */
+
+			status = acpi_ds_get_buffer_arguments(temp_desc);
+			value = temp_desc->buffer.length;
+			break;
+
 		case ACPI_TYPE_PACKAGE:
+
+			/* Package arguments may not be evaluated at this point */
+
+			status = acpi_ds_get_package_arguments(temp_desc);
 			value = temp_desc->package.count;
 			break;
 
 		default:
 			ACPI_ERROR((AE_INFO,
-				    "Operand is not Buf/Int/Str/Pkg - found type %s",
+				    "Operand must be Buffer/Integer/String/Package - found type %s",
 				    acpi_ut_get_type_name(type)));
 			status = AE_AML_OPERAND_TYPE;
 			goto cleanup;
 		}
 
+		if (ACPI_FAILURE(status)) {
+			goto cleanup;
+		}
+
 		/*
 		 * Now that we have the size of the object, create a result
 		 * object to hold the value



Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-9/kernel.spec,v
retrieving revision 1.669
retrieving revision 1.670
diff -u -r1.669 -r1.670
--- kernel.spec	9 Jun 2008 20:24:45 -0000	1.669
+++ kernel.spec	9 Jun 2008 21:10:21 -0000	1.670
@@ -615,7 +615,6 @@
 Patch430: linux-2.6-net-silence-noisy-printks.patch
 Patch432: linux-2.6-netlink-fix-parse-of-nested-attributes.patch
 
-
 Patch450: linux-2.6-input-kill-stupid-messages.patch
 Patch451: linux-2.6-input-fix_fn_key_on_macbookpro_4_1_and_mb_air.patch
 Patch452: linux-2.6-hwmon-applesmc-remove-debugging-messages.patch
@@ -640,6 +639,11 @@
 
 Patch700: linux-2.6-nfs-client-mounts-hang.patch
 
+Patch768: linux-2.6-acpi-fix-sizeof.patch
+Patch769: linux-2.6-acpi-fix-error-with-external-methods.patch
+# acpi hotkey driver for asus eeepc
+Patch784: linux-2.6-acpi-eeepc-hotkey.patch
+
 Patch1101: linux-2.6-default-mmf_dump_elf_headers.patch
 Patch1400: linux-2.6-smarter-relatime.patch
 Patch1515: linux-2.6-lirc.patch
@@ -672,8 +676,6 @@
 # Fix HID usage descriptor on MS wireless desktop receiver
 Patch2301: linux-2.6-ms-wireless-receiver.patch
 
-# acpi hotkey driver for asus eeepc
-Patch2350: linux-2.6-acpi-eeepc-hotkey.patch
 
 # usb video
 Patch2400: linux-2.6-uvcvideo.patch
@@ -1087,6 +1089,9 @@
 ApplyPatch linux-2.6-usb-ehci-hcd-respect-nousb.patch
 
 # ACPI
+# acpi has a bug in the sizeof function causing thermal panics (from 2.6.26)
+ApplyPatch linux-2.6-acpi-fix-sizeof.patch
+ApplyPatch linux-2.6-acpi-fix-error-with-external-methods.patch
 # eeepc hotkey support
 ApplyPatch linux-2.6-acpi-eeepc-hotkey.patch
 
@@ -1833,6 +1838,9 @@
 %kernel_variant_files -a /%{image_install_path}/xen*-%{KVERREL}.xen -e /etc/ld.so.conf.d/kernelcap-%{KVERREL}.xen.conf %{with_xen} xen
 
 %changelog
+* Mon Jun 09 2008 Chuck Ebbert <cebbert at redhat.com> 2.6.25.6-51
+- Sync ACPI patches with F-8 kernel.
+
 * Mon Jun 09 2008 Chuck Ebbert <cebbert at redhat.com> 2.6.25.6-50
 - Linux 2.6.25.6
 - Dropped patches:




More information about the fedora-extras-commits mailing list