Re: [PATCH -next] livepatch: Fix missing unlock on error in klp_enable_patch()

From: Petr Mladek
Date: Mon Jan 03 2022 - 05:49:21 EST


On Mon 2021-12-27 08:31:45, David Vernet wrote:
> Yang Yingliang <yangyingliang@xxxxxxxxxx> wrote on Sat [2021-Dec-25 10:51:15 +0800]:
> > Add missing unlock when try_module_get() fails in klp_enable_patch().
> >
> > Fixes: bf01c2975925 ("livepatch: Fix kobject refcount bug on klp_init_patch_early failure path")
> > Reported-by: Hulk Robot <hulkci@xxxxxxxxxx>
> > Signed-off-by: Yang Yingliang <yangyingliang@xxxxxxxxxx>
> > ---
> > kernel/livepatch/core.c | 4 +++-
> > 1 file changed, 3 insertions(+), 1 deletion(-)
> >
> > diff --git a/kernel/livepatch/core.c b/kernel/livepatch/core.c
> > index 23cf444091a8..01bfab7fe7c0 100644
> > --- a/kernel/livepatch/core.c
> > +++ b/kernel/livepatch/core.c
> > @@ -1047,8 +1047,10 @@ int klp_enable_patch(struct klp_patch *patch)
> > return -EINVAL;
> > }
> >
> > - if (!try_module_get(patch->mod))
> > + if (!try_module_get(patch->mod)) {
> > + mutex_unlock(&klp_mutex);
> > return -ENODEV;
> > + }
> >
> > klp_init_patch_early(patch);
> >
> > --
> > 2.25.1
> >
>
> Apologies for the silly oversight. Thank you for the fix.

And nobody caught it. I think that it was partly caused by
a pre-holiday loss of concentration :-/

> Acked-by: David Vernet <void@xxxxxxxxxxxxx>

Reviewed-by: Petr Mladek <pmladek@xxxxxxxx>

Best Regards,
Petr