Message ID | Pine.LNX.4.64.0907271813490.2682@ask.diku.dk (mailing list archive) |
---|---|
State | RFC, archived |
Headers | show |
Julia Lawall wrote: > [...] > --- > drivers/platform/x86/fujitsu-laptop.c | 3 --- > 1 files changed, 0 insertions(+), 3 deletions(-) > > diff --git a/drivers/platform/x86/fujitsu-laptop.c b/drivers/platform/x86/fujitsu-laptop.c > index 218b9a1..5306901 100644 > --- a/drivers/platform/x86/fujitsu-laptop.c > +++ b/drivers/platform/x86/fujitsu-laptop.c > @@ -745,9 +745,6 @@ static int acpi_fujitsu_remove(struct acpi_device *device, int type) > > fujitsu = acpi_driver_data(device); > > - if (!device || !acpi_driver_data(device)) > - return -EINVAL; > - Shouldn't this still do a: if (!fujitsu) return -EINVAL; to avoid dereferencing a NULL pointer below? > fujitsu->acpi_handle = NULL; > > return 0;
On Tue, 28 Jul 2009, Paulo Marques wrote: > Julia Lawall wrote: > > [...] > > --- > > drivers/platform/x86/fujitsu-laptop.c | 3 --- > > 1 files changed, 0 insertions(+), 3 deletions(-) > > > > diff --git a/drivers/platform/x86/fujitsu-laptop.c b/drivers/platform/x86/fujitsu-laptop.c > > index 218b9a1..5306901 100644 > > --- a/drivers/platform/x86/fujitsu-laptop.c > > +++ b/drivers/platform/x86/fujitsu-laptop.c > > @@ -745,9 +745,6 @@ static int acpi_fujitsu_remove(struct acpi_device *device, int type) > > > > fujitsu = acpi_driver_data(device); > > > > - if (!device || !acpi_driver_data(device)) > > - return -EINVAL; > > - > > Shouldn't this still do a: > > if (!fujitsu) > return -EINVAL; acpi_driver_data just accesses a field of its argument. Is there a worry that from one call to the next it could have a different value? Perhaps it would be better to first test !device, then initialize fujitsu, and then test the result of fujitsu? The acpi_driver_data, which might someday do something more complicated, would only be called once. julia -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/platform/x86/fujitsu-laptop.c b/drivers/platform/x86/fujitsu-laptop.c index 218b9a1..5306901 100644 --- a/drivers/platform/x86/fujitsu-laptop.c +++ b/drivers/platform/x86/fujitsu-laptop.c @@ -745,9 +745,6 @@ static int acpi_fujitsu_remove(struct acpi_device *device, int type) fujitsu = acpi_driver_data(device); - if (!device || !acpi_driver_data(device)) - return -EINVAL; - fujitsu->acpi_handle = NULL; return 0;