Messages in this thread | | | Date | Wed, 16 Mar 2022 15:55:23 +0100 | From | Petr Mladek <> | Subject | Re: [PATCH v3] livepatch: Don't block removal of patches that are safe to unload |
| |
On Sat 2022-03-12 23:22:20, Chengming Zhou wrote: > module_put() is not called for a patch with "forced" flag. It should > block the removal of the livepatch module when the code might still > be in use after forced transition. > > klp_force_transition() currently sets "forced" flag for all patches on > the list. > > In fact, any patch can be safely unloaded when it passed through > the consistency model in KLP_UNPATCHED transition. > > By other words, the "forced" flag must be set only for livepatches > that are being removed. In particular, set the "forced" flag: > > + only for klp_transition_patch when the transition to KLP_UNPATCHED > state was forced. > > + all replaced patches when the transition to KLP_PATCHED state was > forced and the patch was replacing the existing patches. > > Signed-off-by: Chengming Zhou <zhouchengming@bytedance.com>
Looks reasonable, passes livepatch tests:
Reviewed-by: Petr Mladek <pmladek@suse.com> Tested-by: Petr Mladek <pmladek@suse.com>
Just let me repeat. The "force" flags must be used carefully because it breaks the consistency model.
Best Regards, Petr
| |