On Thu, 25 Jan 2018, Petr Mladek wrote: > From: Jason Baron <jbaron@xxxxxxxxxx> > > We are going to add a feature called atomic replace. It will allow to > create a patch that would replace all already registered patches. > > The replaced patches will stay registered because they are typically > unregistered by some package uninstall scripts. But we will remove > these patches from @klp_patches list to keep the enabled patch > on the bottom of the stack. Otherwise, we would need to implement > rather complex logic for moving the patches on the stack. Also > it would complicate implementation of the atomic replace feature. > It is not worth it. > > As a result, we will have patches that are registered but that > are not longer usable. Let's get prepared for this and use > a better descriptive name for klp_is_patch_registered() function. > > Also create separate list for the replaced patches and allow to > unregister them. Alternative solution would be to add a flag > into struct klp_patch. Note that patch->kobj.state_initialized > is not safe because it can be cleared outside klp_mutex. > > This patch does not change the existing behavior. Ok, why not. We could also unregister the patches right away and amend the check in klp_unregister_patch() not to return error. Ever. However, this seems better in the end. Miroslav -- To unsubscribe from this list: send the line "unsubscribe live-patching" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html