On 3/28/24 3:35 AM, Maxim Korotkov wrote: > When initializing the pcc by calling acpi_driver_data(), the "device" > pointer was dereferenced without checking for NULL. This seems like > a logical mistake. > > Added a pointer check to ensure that it is valid > before using it for pcc initialization. > > Found by Security Code and Linux Verification Center(linuxtesting.org) > > Fixes: 709ee531c153 ("panasonic-laptop: add Panasonic Let's Note laptop extras driver v0.94") Since this is a remove function within kernel, is there any change for device being NULL? > Signed-off-by: Maxim Korotkov <korotkov.maxim.s@xxxxxxxxx> > --- > drivers/platform/x86/panasonic-laptop.c | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/drivers/platform/x86/panasonic-laptop.c b/drivers/platform/x86/panasonic-laptop.c > index cf845ee1c7b1..de29758b0384 100644 > --- a/drivers/platform/x86/panasonic-laptop.c > +++ b/drivers/platform/x86/panasonic-laptop.c > @@ -1067,9 +1067,12 @@ static int acpi_pcc_hotkey_add(struct acpi_device *device) > > static void acpi_pcc_hotkey_remove(struct acpi_device *device) > { > - struct pcc_acpi *pcc = acpi_driver_data(device); > + struct pcc_acpi *pcc; > > - if (!device || !pcc) > + if (!device) > + return; > + pcc = acpi_driver_data(device); > + if (!pcc) > return; > > i8042_remove_filter(panasonic_i8042_filter); -- Sathyanarayanan Kuppuswamy Linux Kernel Developer