Skip to content

Commit

Permalink
ACPICA: Windows compatibility fix: same buffer/string store
Browse files Browse the repository at this point in the history
Fix a compatibility issue when the same buffer or string is
stored to itself. This has been seen in the field. Previously,
ACPICA would zero out the buffer/string. Now, the operation is
treated as a NOP.

http://bugzilla.acpica.org/show_bug.cgi?id=803

Reported-by: Rezwanul Kabir <Rezwanul_Kabir@Dell.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
  • Loading branch information
Lin Ming authored and Len Brown committed Aug 28, 2009
1 parent 326ba50 commit b0de22b
Showing 1 changed file with 12 additions and 0 deletions.
12 changes: 12 additions & 0 deletions drivers/acpi/acpica/exstorob.c
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,12 @@ acpi_ex_store_buffer_to_buffer(union acpi_operand_object *source_desc,

ACPI_FUNCTION_TRACE_PTR(ex_store_buffer_to_buffer, source_desc);

/* If Source and Target are the same, just return */

if (source_desc == target_desc) {
return_ACPI_STATUS(AE_OK);
}

/* We know that source_desc is a buffer by now */

buffer = ACPI_CAST_PTR(u8, source_desc->buffer.pointer);
Expand Down Expand Up @@ -161,6 +167,12 @@ acpi_ex_store_string_to_string(union acpi_operand_object *source_desc,

ACPI_FUNCTION_TRACE_PTR(ex_store_string_to_string, source_desc);

/* If Source and Target are the same, just return */

if (source_desc == target_desc) {
return_ACPI_STATUS(AE_OK);
}

/* We know that source_desc is a string by now */

buffer = ACPI_CAST_PTR(u8, source_desc->string.pointer);
Expand Down

0 comments on commit b0de22b

Please sign in to comment.