mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-31 12:10:52 -04:00
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 <[email protected]> Signed-off-by: Alexey Starikovskiy <[email protected]> Signed-off-by: Len Brown <[email protected]>
This commit is contained in:
parent
a3df4dadd4
commit
24a3157a90
1 changed files with 8 additions and 0 deletions
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue