This is a note to let you know that I've just added the patch titled

    ACPICA: Interpreter: Fix Store() when implicit conversion is not possible.

to the 3.4-stable tree which can be found at:
    
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     acpica-interpreter-fix-store-when-implicit-conversion-is-not-possible.patch
and it can be found in the queue-3.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <[email protected]> know about it.


>From 3f654bad3257427bea7ba1c4d43a23d99a03622b Mon Sep 17 00:00:00 2001
From: Bob Moore <[email protected]>
Date: Mon, 31 Dec 2012 00:11:45 +0000
Subject: ACPICA: Interpreter: Fix Store() when implicit conversion is not 
possible.

From: Bob Moore <[email protected]>

commit 3f654bad3257427bea7ba1c4d43a23d99a03622b upstream.

For the cases such as a store of a string to an existing package
object, implement the store as a CopyObject().
This is a small departure from the ACPI specification which states
that the control method should be aborted in this case. However,
ASLTS suite depends on this behavior.

Signed-off-by: Bob Moore <[email protected]>
Signed-off-by: Lv Zheng <[email protected]>
Signed-off-by: Rafael J. Wysocki <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
 drivers/acpi/acpica/exstore.c |   29 ++++++++++++++++++++++++-----
 1 file changed, 24 insertions(+), 5 deletions(-)

--- a/drivers/acpi/acpica/exstore.c
+++ b/drivers/acpi/acpica/exstore.c
@@ -487,14 +487,33 @@ acpi_ex_store_object_to_node(union acpi_
        default:
 
                ACPI_DEBUG_PRINT((ACPI_DB_EXEC,
-                                 "Storing %s (%p) directly into node (%p) with 
no implicit conversion\n",
+                                 "Storing [%s] (%p) directly into node [%s] 
(%p)"
+                                 " with no implicit conversion\n",
                                  acpi_ut_get_object_type_name(source_desc),
-                                 source_desc, node));
+                                 source_desc,
+                                 acpi_ut_get_object_type_name(target_desc),
+                                 node));
 
-               /* No conversions for all other types.  Just attach the source 
object */
+               /*
+                * No conversions for all other types. Directly store a copy of
+                * the source object. NOTE: This is a departure from the ACPI
+                * spec, which states "If conversion is impossible, abort the
+                * running control method".
+                *
+                * This code implements "If conversion is impossible, treat the
+                * Store operation as a CopyObject".
+                */
+               status =
+                   acpi_ut_copy_iobject_to_iobject(source_desc, &new_desc,
+                                                   walk_state);
+               if (ACPI_FAILURE(status)) {
+                       return_ACPI_STATUS(status);
+               }
 
-               status = acpi_ns_attach_object(node, source_desc,
-                                              source_desc->common.type);
+               status =
+                   acpi_ns_attach_object(node, new_desc,
+                                         new_desc->common.type);
+               acpi_ut_remove_reference(new_desc);
                break;
        }
 


Patches currently in stable-queue which might be from [email protected] are

queue-3.4/acpica-fix-for-a-store-argx-when-argx-contains-a-reference-to-a-field.patch
queue-3.4/acpica-derefof-operator-update-to-fully-resolve-fieldunit-and-bufferfield-refs.patch
queue-3.4/acpica-return-error-if-derefof-resolves-to-a-null-package-element.patch
queue-3.4/acpica-interpreter-fix-store-when-implicit-conversion-is-not-possible.patch
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to