Re: [PATCH v3 0/2] ipc,namespace: fix free vs allocation race

From: Al Viro
Date: Fri Jan 27 2023 - 20:31:15 EST


On Fri, Jan 27, 2023 at 01:46:49PM -0500, Rik van Riel wrote:
> The IPC namespace code frees ipc_namespace structures asynchronously,
> via a work queue item. This results in ipc_namespace structures being
> freed very slowly, and the allocation path getting false failures
> since the to-be-freed ipc_namespace structures have not been freed
> yet.
>
> Fix that by having the allocator wait when there are ipc_namespace
> structures pending to be freed.
>
> Also speed up the freeing of ipc_namespace structures. We had some
> discussions about this last year, and ended up trying out various
> "nicer" ideas that did not work, so I went back to the original,
> with Al Viro's suggestion for a helper function:
>
> https://lore.kernel.org/all/Yg8StKzTWh+7FLuA@xxxxxxxxxxxxxxxxxxxxx/
>
> This series fixes both the false allocation failures, and the slow
> freeing of ipc_namespace structures.
>
> v3: remove mq_put_mnt (thank you Giuseppe)
> v2: a few more fs/namespace.c cleanups suggested by Al Viro (thank you!)

Applied (#work.namespace)