Re: [PATCH v14 04/11] livepatch: Refuse to unload only livepatches available during a forced transition

From: Petr Mladek
Date: Thu Dec 06 2018 - 03:46:56 EST


On Mon 2018-12-03 16:29:32, Miroslav Benes wrote:
> You probably forgot to replace the subject with Josh's proposal.
>
> > module_put() is currently never called in klp_complete_transition() when
> > klp_force is set. As a result, we might keep the reference count even when
> > klp_enable_patch() fails and klp_cancel_transition() is called.
>
> Correct.
>
> > This might make an assumption that a module might get blocked in some
> > strange init state. Fortunately, it is not the case. The reference count
> > is ignored when mod->init fails and erroneous modules are always removed.
>
> I do not understand the paragraph and its connection to the problem (and I don't
> remember if I understood it previously or not and forgot to mention it).

It was one example of the confusion. I wonder if the following text
is more clear:

One might wonder if the reference could block the module in
MODULE_STATE_COMING or MODULE_STATE_GOING infinitely.
Fortunately, it is not the case. The reference count is
ignored when mod->init fails and erroneous modules are
always removed.

Or I could remove the paragraph as you suggested below.


Best Regards,
Petr