]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blob - releases/2.6.32.9/wmi-free-the-allocated-acpi-objects-through-wmi_get_event_data.patch
4.9-stable patches
[thirdparty/kernel/stable-queue.git] / releases / 2.6.32.9 / wmi-free-the-allocated-acpi-objects-through-wmi_get_event_data.patch
1 From cebbert@redhat.com Fri Feb 12 13:29:09 2010
2 From: Anisse Astier <anisse@astier.eu>
3 Date: Sat, 30 Jan 2010 18:00:17 -0500
4 Subject: wmi: Free the allocated acpi objects through wmi_get_event_data
5 To: stable@kernel.org
6 Cc: Len Brown <len.brown@intel.com>
7 Message-ID: <201002030139.o131dtPQ012382@int-mx03.intmail.prod.int.phx2.redhat.com>
8
9
10 From: Anisse Astier <anisse@astier.eu>
11
12 commit 3e9b988e4edf065d39c1343937f717319b1c1065 upstream
13
14 [ backported to 2.6.32 ]
15
16 These function allocate an acpi object by calling wmi_get_event_data, which
17 then calls acpi_evaluate_object, and it is not freed afterwards.
18
19 And kernel doc is fixed for parameters of wmi_get_event_data.
20
21 Signed-off-by: Anisse Astier <anisse@astier.eu>
22 Acked-by: Randy Dunlap <randy.dunlap@oracle.com>
23 Acked-by: Carlos Corbacho <carlos@strangeworlds.co.uk>
24 Signed-off-by: Len Brown <len.brown@intel.com>
25 Cc: Chuck Ebbert <cebbert@redhat.com>
26 Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
27
28 ---
29 drivers/platform/x86/dell-wmi.c | 1 +
30 drivers/platform/x86/hp-wmi.c | 2 ++
31 drivers/platform/x86/wmi.c | 4 ++--
32 3 files changed, 5 insertions(+), 2 deletions(-)
33
34 --- a/drivers/platform/x86/dell-wmi.c
35 +++ b/drivers/platform/x86/dell-wmi.c
36 @@ -180,6 +180,7 @@ static void dell_wmi_notify(u32 value, v
37 printk(KERN_INFO "dell-wmi: Unknown key %x pressed\n",
38 buffer[1] & 0xFFFF);
39 }
40 + kfree(obj);
41 }
42
43 static int __init dell_wmi_input_setup(void)
44 --- a/drivers/platform/x86/hp-wmi.c
45 +++ b/drivers/platform/x86/hp-wmi.c
46 @@ -377,6 +377,8 @@ static void hp_wmi_notify(u32 value, voi
47 eventcode);
48 } else
49 printk(KERN_INFO "HP WMI: Unknown response received\n");
50 +
51 + kfree(obj);
52 }
53
54 static int __init hp_wmi_input_setup(void)
55 --- a/drivers/platform/x86/wmi.c
56 +++ b/drivers/platform/x86/wmi.c
57 @@ -510,8 +510,8 @@ EXPORT_SYMBOL_GPL(wmi_remove_notify_hand
58 /**
59 * wmi_get_event_data - Get WMI data associated with an event
60 *
61 - * @event - Event to find
62 - * &out - Buffer to hold event data
63 + * @event: Event to find
64 + * @out: Buffer to hold event data. out->pointer should be freed with kfree()
65 *
66 * Returns extra data associated with an event in WMI.
67 */