On Mon, 2018-07-02 at 19:26 -0700, Linus Torvalds wrote: > On Mon, Jul 2, 2018 at 7:15 PM Linus Torvalds > <torva...@linux-foundation.org> wrote: > > > > It's whitespace-damaged on purpose. It's probably broken shit. DO NOT > > USE UNDER ANY CIRCUMSTANCES. Think of it more as a "something like > > this might work, but probably doesn't". Maybe it gives you an idea, > > although that idea might be "Linus has finally lost it". > > Even if it were to work, it should probably just be done inside kernfs > and exposed as some kind of "kernfs_remove_if_empty()" function.
That would be harder, we'd have to expose it via a kobject_del_if_empty() then. Since we control completely when things are added/removed from the gluedir and have a big fat mutex for it, I don't think locking is much of an issue. At least in that specific case. > We happen to know that we hold the lock that creates all the entries > in the glue directory (and we don't allow users to move or create > stuff, afaik, even if we alloc chmod etc), so there should be no > races, but a generic kernfs helper function would probably have to get > proper locks and check it the right way. Yes that or document very clearly under what circumstances that function can be used. > Linus