summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorLin Ming <ming.m.lin@intel.com>2008-07-04 06:51:41 +0400
committerAndi Kleen <ak@linux.intel.com>2008-08-15 04:11:59 +0400
commitd3ff268a0149fce8835f6d48ab481d5e3321e0f7 (patch)
tree04d68740e10c2a795edaf7ca7c92292b496b1fc8 /drivers
parent2843ae7734075f5d7072cf1230758bf8cf840af7 (diff)
downloadlinux-d3ff268a0149fce8835f6d48ab481d5e3321e0f7.tar.xz
ACPICA: Fix possible memory leak in Unload() operator
The DdbHandle returned by Load() does not have its reference count decremented during unload, leading to a memory leak. Lin Ming. Signed-off-by: Lin Ming <ming.m.lin@intel.com> Signed-off-by: Bob Moore <robert.moore@intel.com> Signed-off-by: Andi Kleen <ak@linux.intel.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/acpi/executer/exconfig.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/acpi/executer/exconfig.c b/drivers/acpi/executer/exconfig.c
index 2a32c843cb4a..8892b9824fae 100644
--- a/drivers/acpi/executer/exconfig.c
+++ b/drivers/acpi/executer/exconfig.c
@@ -479,5 +479,8 @@ acpi_status acpi_ex_unload_table(union acpi_operand_object *ddb_handle)
acpi_tb_set_table_loaded_flag(table_index, FALSE);
+ /* Table unloaded, remove a reference to the ddb_handle object */
+
+ acpi_ut_remove_reference(ddb_handle);
return_ACPI_STATUS(AE_OK);
}