ACPICA: Fix memory leak on unusual memory leak
authorBob Moore <robert.moore@intel.com>
Wed, 14 Mar 2018 23:13:01 +0000 (16:13 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 30 May 2018 05:52:31 +0000 (07:52 +0200)
[ Upstream commit 1c29c372b2d1d2415601041532745ce859f24126 ]

Fixes a single-object memory leak on a store-to-reference method
invocation. ACPICA BZ 1439.

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Erik Schmauss <erik.schmauss@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/acpi/acpica/psargs.c

index eb9dfac..11ce4e5 100644 (file)
@@ -890,6 +890,10 @@ acpi_ps_get_next_arg(struct acpi_walk_state *walk_state,
                                                      ACPI_POSSIBLE_METHOD_CALL);
 
                        if (arg->common.aml_opcode == AML_INT_METHODCALL_OP) {
+
+                               /* Free method call op and corresponding namestring sub-ob */
+
+                               acpi_ps_free_op(arg->common.value.arg);
                                acpi_ps_free_op(arg);
                                arg = NULL;
                                walk_state->arg_count = 1;