Messages in this thread | | | Subject | Re: [PATCH v2 2/2] mtd: nand: atmel_nand: fix a possible NULL dereference | From | Josh Wu <> | Date | Fri, 20 Nov 2015 16:33:14 +0800 |
| |
Hi, Corentin
Thanks for the patch. It looks fine to me, just one nitpick in below:
On 11/20/2015 3:45 PM, LABBE Corentin wrote: > of_match_device could return NULL, and so cause a NULL pointer > dereference later. > > Signed-off-by: LABBE Corentin <clabbe.montjoie@gmail.com> > --- > drivers/mtd/nand/atmel_nand.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/drivers/mtd/nand/atmel_nand.c b/drivers/mtd/nand/atmel_nand.c > index 475c938..7902967 100644 > --- a/drivers/mtd/nand/atmel_nand.c > +++ b/drivers/mtd/nand/atmel_nand.c > @@ -1496,8 +1496,9 @@ static int atmel_of_init_port(struct atmel_nand_host *host, > struct atmel_nand_data *board = &host->board; > enum of_gpio_flags flags = 0; > > - host->caps = (struct atmel_nand_caps *) > - of_match_device(atmel_nand_dt_ids, host->dev)->data; > + host->caps = of_device_get_match_data(host->dev); > + if (!host->caps) > + return 1;
it's better to use -EINVAL here.
Best Regards, Josh Wu
> > if (of_property_read_u32(np, "atmel,nand-addr-offset", &val) == 0) { > if (val >= 32) {
| |