[PATCH V4 0/3] livepatch: cleanup kpl_patch kobject release

From: Ming Lei
Date: Tue Nov 02 2021 - 10:59:54 EST


Hello,

The 1st patch moves module_put() to release handler of klp_patch
kobject.

The 2nd patch changes to free klp_patch and other kobjects without
klp_mutex.

The 3rd patch switches to synchronous kobject release for klp_patch.


V4:
- add freeing klp_patch after klp_enable_patch() returns, since
patch still can be freed there in case of ->replace is set

V3:
- one line fix on check of list_empty() in enabled_store(), 3/3

V2:
- remove enabled attribute before deleting this klp_patch kobject,
for avoiding deadlock in deleting me


Ming Lei (3):
livepatch: remove 'struct completion finish' from klp_patch
livepatch: free klp_patch object without holding klp_mutex
livepatch: free klp_patch object synchronously

include/linux/livepatch.h | 2 -
kernel/livepatch/core.c | 73 +++++++++++++++++------------------
kernel/livepatch/core.h | 3 +-
kernel/livepatch/transition.c | 23 ++++++++---
kernel/livepatch/transition.h | 2 +-
5 files changed, 54 insertions(+), 49 deletions(-)

--
2.31.1