[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230127184651.3681682-1-riel@surriel.com>
Date: Fri, 27 Jan 2023 13:46:49 -0500
From: Rik van Riel <riel@...riel.com>
To: viro@...iv.linux.org.uk, linux-kernel@...r.kernel.org,
kernel-team@...a.com, linux-fsdevel@...r.kernel.org,
gscrivan@...hat.com
Subject: [PATCH v3 0/2] ipc,namespace: fix free vs allocation race
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@zeniv-ca.linux.org.uk/
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!)
Powered by blists - more mailing lists