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

- From: Miroslav Benes \<mbenes@suse.cz\>
- Date: 2021-10-27 11:42:45 
- List: live-patching
- Page: https://ratatoskr.run/live-patching/2021/10/217232
- Thread: https://ratatoskr.run/linux-doc/2021/09/215052/t/2.md

```text
> > 
> > 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
```
