Re: [PATCH v8 11/12] zram: fix crashes with cpu hotplug multistate

Miroslav Benes
2021-10-27T11:42:44Z

> >
> > The livepatch code uses workqueue because the livepatch can be
> > disabled via sysfs interface. It obviously could not wait until
> > the sysfs interface is removed in the sysfs write() callback
> > that triggered the removal.
>
> If klp_free_patch_* is moved into module_exit() and not let enable
> store() to kill kobjects, all kobjects can be deleted in module_exit(),
> then wait_for_completion(patch->finish) may be removed, also wq isn't
> required for the async cleanup.

It sounds like a nice cleanup. If we combine kobject_del() to prevent any
show()/store() accesses and free everything later in module_exit(), it
could work. If I am not missing something around how we maintain internal
lists of live patches and their modules.

Thanks

Miroslav