lkml.org 
[lkml]   [2021]   [Nov]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.10 171/575] platform/x86: wmi: do not fail if disabling fails
    Date
    From: Barnabás Pőcze <pobrn@protonmail.com>

    [ 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@protonmail.com>
    Link: https://lore.kernel.org/r/20210904175450.156801-25-pobrn@protonmail.com
    Reviewed-by: Hans de Goede <hdegoede@redhat.com>
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/platform/x86/wmi.c | 9 ++++++++-
    1 file changed, 8 insertions(+), 1 deletion(-)

    diff --git a/drivers/platform/x86/wmi.c b/drivers/platform/x86/wmi.c
    index d88f388a3450f..1f80b26281628 100644
    --- a/drivers/platform/x86/wmi.c
    +++ b/drivers/platform/x86/wmi.c
    @@ -354,7 +354,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;
    --
    2.33.0


    \
     
     \ /
      Last update: 2021-11-15 20:40    [W:3.165 / U:23.920 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site