Re: [PATCH 1/2] mfd: 88pm800: Fix the bug that pdata may be NULL
Hi Chao, On Mon, Sep 02, 2013 at 09:21:04AM +0800, Chao Xie wrote: > On Fri, Aug 30, 2013 at 8:30 PM, Samuel Ortiz wrote: > > Hi Xie, > > > > On Tue, Aug 27, 2013 at 02:11:58PM +0800, Chao Xie wrote: > >> On Tue, Aug 20, 2013 at 9:40 AM, Samuel Ortiz > >> wrote: > >> > Hi Xie, > >> > > >> > On Sun, Aug 18, 2013 at 09:27:54PM -0400, Chao Xie wrote: > >> >> User pass platform data to device, and platform data may be > >> >> NULL. > >> > In which case do you get that ? With DT ? > >> > Should rtc_init fail when pdata is NULL ? > >> > > >> > You need to explain that, be it only for us to know if it's a critical > >> > fix or not. > >> > > >> Sorry for late response. > >> If pdata is NULL, the driver will fail. > > The question is: Why would pdata be NULL ? If there's a fundamental > > issue you're hiding with this patch, you probably want to fix the real > > problem instead. > > > Maybe i do not explain it clearly. > The error is detected y some software checking tool. Ok, that's clearer. So it's not an actual bug you saw in practice, I'll modify the changelog accordingly. Cheers, Samuel. -- Intel Open Source Technology Centre http://oss.intel.com/ -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 1/2] mfd: 88pm800: Fix the bug that pdata may be NULL
On Fri, Aug 30, 2013 at 8:30 PM, Samuel Ortiz wrote: > Hi Xie, > > On Tue, Aug 27, 2013 at 02:11:58PM +0800, Chao Xie wrote: >> On Tue, Aug 20, 2013 at 9:40 AM, Samuel Ortiz wrote: >> > Hi Xie, >> > >> > On Sun, Aug 18, 2013 at 09:27:54PM -0400, Chao Xie wrote: >> >> User pass platform data to device, and platform data may be >> >> NULL. >> > In which case do you get that ? With DT ? >> > Should rtc_init fail when pdata is NULL ? >> > >> > You need to explain that, be it only for us to know if it's a critical >> > fix or not. >> > >> Sorry for late response. >> If pdata is NULL, the driver will fail. > The question is: Why would pdata be NULL ? If there's a fundamental > issue you're hiding with this patch, you probably want to fix the real > problem instead. > Maybe i do not explain it clearly. The error is detected y some software checking tool. Pdata is passed from dev->platform_data. If the user pass the dev->platform_data to be NULL, at least mfd device driver need detect it, and reject it if it is not accpetable like return -EINVAL. Then the following probing code will not cause kernel panic if we access pdata->xxx. > Cheers, > Samuel. > > -- > Intel Open Source Technology Centre > http://oss.intel.com/ -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 1/2] mfd: 88pm800: Fix the bug that pdata may be NULL
Hi Xie, On Tue, Aug 27, 2013 at 02:11:58PM +0800, Chao Xie wrote: > On Tue, Aug 20, 2013 at 9:40 AM, Samuel Ortiz wrote: > > Hi Xie, > > > > On Sun, Aug 18, 2013 at 09:27:54PM -0400, Chao Xie wrote: > >> User pass platform data to device, and platform data may be > >> NULL. > > In which case do you get that ? With DT ? > > Should rtc_init fail when pdata is NULL ? > > > > You need to explain that, be it only for us to know if it's a critical > > fix or not. > > > Sorry for late response. > If pdata is NULL, the driver will fail. The question is: Why would pdata be NULL ? If there's a fundamental issue you're hiding with this patch, you probably want to fix the real problem instead. Cheers, Samuel. -- Intel Open Source Technology Centre http://oss.intel.com/ -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 1/2] mfd: 88pm800: Fix the bug that pdata may be NULL
On Tue, Aug 20, 2013 at 9:40 AM, Samuel Ortiz wrote: > Hi Xie, > > On Sun, Aug 18, 2013 at 09:27:54PM -0400, Chao Xie wrote: >> User pass platform data to device, and platform data may be >> NULL. > In which case do you get that ? With DT ? > Should rtc_init fail when pdata is NULL ? > > You need to explain that, be it only for us to know if it's a critical > fix or not. > Sorry for late response. If pdata is NULL, the driver will fail. So the error check should be done at the beginning of probe. If (!pdata) return -EINVAL; Is that OK? > Cheers, > Samuel. > > -- > Intel Open Source Technology Centre > http://oss.intel.com/ -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 1/2] mfd: 88pm800: Fix the bug that pdata may be NULL
Hi Xie, On Sun, Aug 18, 2013 at 09:27:54PM -0400, Chao Xie wrote: > User pass platform data to device, and platform data may be > NULL. In which case do you get that ? With DT ? Should rtc_init fail when pdata is NULL ? You need to explain that, be it only for us to know if it's a critical fix or not. Cheers, Samuel. -- Intel Open Source Technology Centre http://oss.intel.com/ -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 1/2] mfd: 88pm800: Fix the bug that pdata may be NULL
User pass platform data to device, and platform data may be NULL. Add the check for pdata. Signed-off-by: Chao Xie --- drivers/mfd/88pm800.c | 10 ++ 1 files changed, 6 insertions(+), 4 deletions(-) diff --git a/drivers/mfd/88pm800.c b/drivers/mfd/88pm800.c index 6c95483..d4d272f 100644 --- a/drivers/mfd/88pm800.c +++ b/drivers/mfd/88pm800.c @@ -333,9 +333,11 @@ static int device_rtc_init(struct pm80x_chip *chip, { int ret; - rtc_devs[0].platform_data = pdata->rtc; - rtc_devs[0].pdata_size = - pdata->rtc ? sizeof(struct pm80x_rtc_pdata) : 0; + if (pdata) { + rtc_devs[0].platform_data = pdata->rtc; + rtc_devs[0].pdata_size = + pdata->rtc ? sizeof(struct pm80x_rtc_pdata) : 0; + } ret = mfd_add_devices(chip->dev, 0, &rtc_devs[0], ARRAY_SIZE(rtc_devs), NULL, 0, NULL); if (ret) { @@ -578,7 +580,7 @@ static int pm800_probe(struct i2c_client *client, goto err_device_init; } - if (pdata->plat_config) + if (pdata && pdata->plat_config) pdata->plat_config(chip, pdata); return 0; -- 1.7.4.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/