From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sabrina Dubroca Subject: Re: [bisected] NULL pointer dereference in acpi_gpiochip_add (on modprobe ssb) Date: Tue, 25 Mar 2014 09:05:23 +0100 Message-ID: <20140325080523.GD25669@kria> References: <20140324154944.GB25669@kria> <20140324180033.GM19349@intel.com> <20140324181112.GN19349@intel.com> <20140324183111.GC25669@kria> <20140325072530.GP19349@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Return-path: Content-Disposition: inline In-Reply-To: <20140325072530.GP19349@intel.com> Sender: linux-gpio-owner@vger.kernel.org To: Mika Westerberg Cc: linux-gpio@vger.kernel.org, linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org List-Id: linux-acpi@vger.kernel.org 2014-03-25, 09:25:30 +0200, Mika Westerberg wrote: > On Mon, Mar 24, 2014 at 07:31:11PM +0100, Sabrina Dubroca wrote: > > > Actually gpiolib seems to handle ->dev as optional. Can you try this patch > > > instead? Thanks. > > > > > > diff --git a/drivers/gpio/gpiolib-acpi.c b/drivers/gpio/gpiolib-acpi.c > > > index bf0f8b476696..642b2bf3360e 100644 > > > --- a/drivers/gpio/gpiolib-acpi.c > > > +++ b/drivers/gpio/gpiolib-acpi.c > > > @@ -501,6 +501,9 @@ void acpi_gpiochip_add(struct gpio_chip *chip) > > > acpi_handle handle; > > > acpi_status status; > > > > > > + if (!chip || !chip->dev) > > > + return; > > > + > > > handle = ACPI_HANDLE(chip->dev); > > > if (!handle) > > > return; > > > @@ -531,6 +534,9 @@ void acpi_gpiochip_remove(struct gpio_chip *chip) > > > acpi_handle handle; > > > acpi_status status; > > > > > > + if (!chip || !chip->dev) > > > + return; > > > + > > > handle = ACPI_HANDLE(chip->dev); > > > if (!handle) > > > return; > > > > Thanks, this patch solves the problem. > > Great thanks for testing. Can I add your tested-by to the patch? > > I'll submit a formal patch for this next week as I'm currently on vacation. Sure: Tested-by: Sabrina Dubroca Thanks again, -- Sabrina