Patch "platform/x86: wmi: do not fail if disabling fails" has been added to the 5.4-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    platform/x86: wmi: do not fail if disabling fails

to the 5.4-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     platform-x86-wmi-do-not-fail-if-disabling-fails.patch
and it can be found in the queue-5.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 2588e5f1cc8ab530d93744f6a8b9474b061bd26f
Author: Barnabás Pőcze <pobrn@xxxxxxxxxxxxxx>
Date:   Sat Sep 4 17:56:26 2021 +0000

    platform/x86: wmi: do not fail if disabling fails
    
    [ Upstream commit 1975718c488a39128f1f515b23ae61a5a214cc3d ]
    
    Previously, `__query_block()` would fail if the
    second WCxx method call failed. However, the
    WQxx method might have succeeded, and potentially
    allocated memory for the result. Instead of
    throwing away the result and potentially
    leaking memory, ignore the result of
    the second WCxx call.
    
    Signed-off-by: Barnabás Pőcze <pobrn@xxxxxxxxxxxxxx>
    Link: https://lore.kernel.org/r/20210904175450.156801-25-pobrn@xxxxxxxxxxxxxx
    Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx>
    Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/platform/x86/wmi.c b/drivers/platform/x86/wmi.c
index 59e9aa0f96436..cb029126a68c6 100644
--- a/drivers/platform/x86/wmi.c
+++ b/drivers/platform/x86/wmi.c
@@ -353,7 +353,14 @@ static acpi_status __query_block(struct wmi_block *wblock, u8 instance,
 	 * the WQxx method failed - we should disable collection anyway.
 	 */
 	if ((block->flags & ACPI_WMI_EXPENSIVE) && ACPI_SUCCESS(wc_status)) {
-		status = acpi_execute_simple_method(handle, wc_method, 0);
+		/*
+		 * Ignore whether this WCxx call succeeds or not since
+		 * the previously executed WQxx method call might have
+		 * succeeded, and returning the failing status code
+		 * of this call would throw away the result of the WQxx
+		 * call, potentially leaking memory.
+		 */
+		acpi_execute_simple_method(handle, wc_method, 0);
 	}
 
 	return status;



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux