Message ID | 1378974078-15416-1-git-send-email-sachin.kamat@linaro.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 12/09/13 20:21, Sachin Kamat wrote: > 'of_id' is dereferenced before NULL pointer check. Move it to > after the check. > > Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> > --- > Compile tested. > --- > drivers/mmc/host/wmt-sdmmc.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/mmc/host/wmt-sdmmc.c b/drivers/mmc/host/wmt-sdmmc.c > index 34231d5..3523a72 100644 > --- a/drivers/mmc/host/wmt-sdmmc.c > +++ b/drivers/mmc/host/wmt-sdmmc.c > @@ -771,7 +771,7 @@ static int wmt_mci_probe(struct platform_device *pdev) > struct device_node *np = pdev->dev.of_node; > const struct of_device_id *of_id = > of_match_device(wmt_mci_dt_ids, &pdev->dev); > - const struct wmt_mci_caps *wmt_caps = of_id->data; > + const struct wmt_mci_caps *wmt_caps; > int ret; > int regular_irq, dma_irq; > > @@ -780,6 +780,8 @@ static int wmt_mci_probe(struct platform_device *pdev) > return -EFAULT; > } > > + wmt_caps = of_id->data; > + > if (!np) { > dev_err(&pdev->dev, "Missing SDMMC description in devicetree\n"); > return -EFAULT; While I don't mind either way, this can never fail anyway. arch-vt8500 is devicetree only, so the only way the driver will get probed is through a compatible-match, and .data must be (and is) specified. I guess it's still good housekeeping to test it to protect future changes so: Acked-by: Tony Prisk <linux@prisktech.co.nz> Regards Tony P -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 13 September 2013 00:13, Tony Prisk <linux@prisktech.co.nz> wrote: > On 12/09/13 20:21, Sachin Kamat wrote: >> >> 'of_id' is dereferenced before NULL pointer check. Move it to >> after the check. >> >> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> >> --- >> Compile tested. >> --- >> drivers/mmc/host/wmt-sdmmc.c | 4 +++- >> 1 file changed, 3 insertions(+), 1 deletion(-) >> >> diff --git a/drivers/mmc/host/wmt-sdmmc.c b/drivers/mmc/host/wmt-sdmmc.c >> index 34231d5..3523a72 100644 >> --- a/drivers/mmc/host/wmt-sdmmc.c >> +++ b/drivers/mmc/host/wmt-sdmmc.c >> @@ -771,7 +771,7 @@ static int wmt_mci_probe(struct platform_device *pdev) >> struct device_node *np = pdev->dev.of_node; >> const struct of_device_id *of_id = >> of_match_device(wmt_mci_dt_ids, &pdev->dev); >> - const struct wmt_mci_caps *wmt_caps = of_id->data; >> + const struct wmt_mci_caps *wmt_caps; >> int ret; >> int regular_irq, dma_irq; >> @@ -780,6 +780,8 @@ static int wmt_mci_probe(struct platform_device >> *pdev) >> return -EFAULT; >> } >> + wmt_caps = of_id->data; >> + >> if (!np) { >> dev_err(&pdev->dev, "Missing SDMMC description in >> devicetree\n"); >> return -EFAULT; > > > While I don't mind either way, this can never fail anyway. arch-vt8500 is > devicetree only, so the only way the driver will get probed is through a > compatible-match, and .data must be (and is) specified. > > I guess it's still good housekeeping to test it to protect future changes > so: > > Acked-by: Tony Prisk <linux@prisktech.co.nz> Ping Chris.
On 12 September 2013 13:51, Sachin Kamat <sachin.kamat@linaro.org> wrote: > 'of_id' is dereferenced before NULL pointer check. Move it to > after the check. > > Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> > --- > Compile tested. > --- > drivers/mmc/host/wmt-sdmmc.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/mmc/host/wmt-sdmmc.c b/drivers/mmc/host/wmt-sdmmc.c > index 34231d5..3523a72 100644 > --- a/drivers/mmc/host/wmt-sdmmc.c > +++ b/drivers/mmc/host/wmt-sdmmc.c > @@ -771,7 +771,7 @@ static int wmt_mci_probe(struct platform_device *pdev) > struct device_node *np = pdev->dev.of_node; > const struct of_device_id *of_id = > of_match_device(wmt_mci_dt_ids, &pdev->dev); > - const struct wmt_mci_caps *wmt_caps = of_id->data; > + const struct wmt_mci_caps *wmt_caps; > int ret; > int regular_irq, dma_irq; > > @@ -780,6 +780,8 @@ static int wmt_mci_probe(struct platform_device *pdev) > return -EFAULT; > } > > + wmt_caps = of_id->data; > + > if (!np) { > dev_err(&pdev->dev, "Missing SDMMC description in devicetree\n"); > return -EFAULT; > -- > 1.7.9.5 > Gentle ping...
diff --git a/drivers/mmc/host/wmt-sdmmc.c b/drivers/mmc/host/wmt-sdmmc.c index 34231d5..3523a72 100644 --- a/drivers/mmc/host/wmt-sdmmc.c +++ b/drivers/mmc/host/wmt-sdmmc.c @@ -771,7 +771,7 @@ static int wmt_mci_probe(struct platform_device *pdev) struct device_node *np = pdev->dev.of_node; const struct of_device_id *of_id = of_match_device(wmt_mci_dt_ids, &pdev->dev); - const struct wmt_mci_caps *wmt_caps = of_id->data; + const struct wmt_mci_caps *wmt_caps; int ret; int regular_irq, dma_irq; @@ -780,6 +780,8 @@ static int wmt_mci_probe(struct platform_device *pdev) return -EFAULT; } + wmt_caps = of_id->data; + if (!np) { dev_err(&pdev->dev, "Missing SDMMC description in devicetree\n"); return -EFAULT;
'of_id' is dereferenced before NULL pointer check. Move it to after the check. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> --- Compile tested. --- drivers/mmc/host/wmt-sdmmc.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)