Re: [PATCH] platform/x86: ideapad-laptop: fix a NULL pointer dereference

From: Hans de Goede
Date: Tue May 11 2021 - 07:40:06 EST


Hi,

On 4/30/21 10:45 AM, Ike Panhc wrote:
> On 4/28/21 1:06 PM, Qiu Wenbo wrote:
>> The third parameter of dytc_cql_command should not be NULL since it will
>> be dereferenced immediately.
>>
>> Signed-off-by: Qiu Wenbo <qiuwenbo@xxxxxxxxxxxxxx>
>
> Fixes: ff36b0d953dc4 ("platform/x86: ideapad-laptop: rework and create new ACPI helpers")
> Acked-by: Ike Panhc <ike.pan@xxxxxxxxxxxxx>

Thank you I've added this to my review-hans branch with the 2 above
tags added. I'll also add this to my fixes branch and include it in
a future pdx86 fixes pull-req for Linus for 5.13.

Thank you for your patch, I've applied this patch to my review-hans
branch:
https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/log/?h=review-hans

Note it will show up in my review-hans branch once I've pushed my
local branch there, which might take a while.

Once I've run some tests on this branch the patches there will be
added to the platform-drivers-x86/for-next branch and eventually
will be included in the pdx86 pull-request to Linus for the next
merge-window.

Regards,

Hans



>
>> ---
>> drivers/platform/x86/ideapad-laptop.c | 3 ++-
>> 1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/platform/x86/ideapad-laptop.c b/drivers/platform/x86/ideapad-laptop.c
>> index 6cb5ad4be231..8f871151f0cc 100644
>> --- a/drivers/platform/x86/ideapad-laptop.c
>> +++ b/drivers/platform/x86/ideapad-laptop.c
>> @@ -809,6 +809,7 @@ static int dytc_profile_set(struct platform_profile_handler *pprof,
>> {
>> struct ideapad_dytc_priv *dytc = container_of(pprof, struct ideapad_dytc_priv, pprof);
>> struct ideapad_private *priv = dytc->priv;
>> + unsigned long output;
>> int err;
>>
>> err = mutex_lock_interruptible(&dytc->mutex);
>> @@ -829,7 +830,7 @@ static int dytc_profile_set(struct platform_profile_handler *pprof,
>>
>> /* Determine if we are in CQL mode. This alters the commands we do */
>> err = dytc_cql_command(priv, DYTC_SET_COMMAND(DYTC_FUNCTION_MMC, perfmode, 1),
>> - NULL);
>> + &output);
>> if (err)
>> goto unlock;
>> }
>>
>