On 12 November 2015 at 08:49, LABBE Corentin <clabbe.montj...@gmail.com> wrote: > of_match_device could return NULL, and so cause a NULL pointer > dereference later. > > Signed-off-by: LABBE Corentin <clabbe.montj...@gmail.com> > --- > drivers/mtd/nand/atmel_nand.c | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/drivers/mtd/nand/atmel_nand.c b/drivers/mtd/nand/atmel_nand.c > index 475c938..f3cf68b 100644 > --- a/drivers/mtd/nand/atmel_nand.c > +++ b/drivers/mtd/nand/atmel_nand.c > @@ -1495,9 +1495,12 @@ static int atmel_of_init_port(struct atmel_nand_host > *host, > int ecc_mode; > struct atmel_nand_data *board = &host->board; > enum of_gpio_flags flags = 0; > + const struct of_device_id *of_id; > > - host->caps = (struct atmel_nand_caps *) > - of_match_device(atmel_nand_dt_ids, host->dev)->data; > + of_id = of_match_device(atmel_nand_dt_ids, host->dev); > + if (!of_id) > + return -ENODEV; > + host->caps = of_id->data;
It might be cleaner to use of_device_get_match_data() here. regards, Joachim Eastwood -- 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/