Message ID | 1469544718-32001-1-git-send-email-weiyj.lk@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Tue, Jul 26, 2016 at 02:51:58PM +0000, Wei Yongjun wrote: > It's not necessary to unregister pin controller device registered > with devm_pinctrl_register() and using pinctrl_unregister() leads > to a double free. > > This is detected by Coccinelle semantic patch. > > Signed-off-by: Wei Yongjun <weiyj.lk@gmail.com> Fixes: e649f7ec8c5f ("pinctrl: meson: Use devm_pinctrl_register() for pinctrl registration") Reviewed-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> > --- > drivers/pinctrl/meson/pinctrl-meson.c | 8 +------- > 1 file changed, 1 insertion(+), 7 deletions(-) > > diff --git a/drivers/pinctrl/meson/pinctrl-meson.c b/drivers/pinctrl/meson/pinctrl-meson.c > index 11623c6..44e69c9 100644 > --- a/drivers/pinctrl/meson/pinctrl-meson.c > +++ b/drivers/pinctrl/meson/pinctrl-meson.c > @@ -727,13 +727,7 @@ static int meson_pinctrl_probe(struct platform_device *pdev) > return PTR_ERR(pc->pcdev); > } > > - ret = meson_gpiolib_register(pc); > - if (ret) { > - pinctrl_unregister(pc->pcdev); > - return ret; > - } > - > - return 0; > + return meson_gpiolib_register(pc); > } > > static struct platform_driver meson_pinctrl_driver = { > Thanks.
Dmitry Torokhov <dmitry.torokhov@gmail.com> writes: > On Tue, Jul 26, 2016 at 02:51:58PM +0000, Wei Yongjun wrote: >> It's not necessary to unregister pin controller device registered >> with devm_pinctrl_register() and using pinctrl_unregister() leads >> to a double free. >> >> This is detected by Coccinelle semantic patch. >> >> Signed-off-by: Wei Yongjun <weiyj.lk@gmail.com> > > Fixes: e649f7ec8c5f ("pinctrl: meson: Use devm_pinctrl_register() for > pinctrl registration") > > Reviewed-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Acked-by: Kevin Hilman <khilman@baylibre.com>
On Tue, Jul 26, 2016 at 4:51 PM, Wei Yongjun <weiyj.lk@gmail.com> wrote: > It's not necessary to unregister pin controller device registered > with devm_pinctrl_register() and using pinctrl_unregister() leads > to a double free. > > This is detected by Coccinelle semantic patch. > > Signed-off-by: Wei Yongjun <weiyj.lk@gmail.com> Patch applied for fixes with Dmitry's and Kevin's tags. Yours, Linus Walleij
diff --git a/drivers/pinctrl/meson/pinctrl-meson.c b/drivers/pinctrl/meson/pinctrl-meson.c index 11623c6..44e69c9 100644 --- a/drivers/pinctrl/meson/pinctrl-meson.c +++ b/drivers/pinctrl/meson/pinctrl-meson.c @@ -727,13 +727,7 @@ static int meson_pinctrl_probe(struct platform_device *pdev) return PTR_ERR(pc->pcdev); } - ret = meson_gpiolib_register(pc); - if (ret) { - pinctrl_unregister(pc->pcdev); - return ret; - } - - return 0; + return meson_gpiolib_register(pc); } static struct platform_driver meson_pinctrl_driver = {
It's not necessary to unregister pin controller device registered with devm_pinctrl_register() and using pinctrl_unregister() leads to a double free. This is detected by Coccinelle semantic patch. Signed-off-by: Wei Yongjun <weiyj.lk@gmail.com> --- drivers/pinctrl/meson/pinctrl-meson.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-)