Re: [RFC PATCH] livepatch: allow removal of a disabled patch

From: Jiri Kosina
Date: Tue May 03 2016 - 18:31:17 EST

On Tue, 3 May 2016, Josh Poimboeuf wrote:

> > 1. Do we really need a completion? If I am not missing something
> > kobject_del() always waits for sysfs callers to leave thanks to kernfs
> > active protection.
> What do you mean by "kernfs active protection"? I see that
> kernfs_remove() gets the kernfs_mutex lock, but I can't find anywhere
> that a write to a sysfs file uses that lock.
> I'm probably missing something...

I don't want to speak on Miroslav's behalf, but I'm pretty sure that what
he has on mind is per-kernfs_node active refcounting kernfs does (see
kernfs_node->active, and especially it's usage in __kernfs_remove()).

More specifically, execution of store() and show() sysfs callbacks is
guaranteed (by kernfs) to happen with that particular attribute's active
reference held for reading (and that makes it impossible for that
attribute to vanish prematurely).

Jiri Kosina