diff options
| author | Christian Brauner <brauner@kernel.org> | 2026-10-02 15:52:51 +0200 |
|---|---|---|
| committer | Christian Brauner <brauner@kernel.org> | 2026-10-04 12:36:14 +0200 |
| commit | fa15a241f0a862904d673d2514baf9a26c0893e8 (patch) | |
| tree | a60ef12ddb80a655bf9c8ee69676bfb58c70c3ac /tools/perf/scripts/python/stackcollapse.py | |
| parent | e08f57a7dcb83818c058e415988c23beb6c5a47f (diff) | |
| download | linux-next-fa15a241f0a862904d673d2514baf9a26c0893e8.tar.gz linux-next-fa15a241f0a862904d673d2514baf9a26c0893e8.zip | |
selftests/filesystems: add a helper that holds a readdir in a page fault
A getdents64() whose buffer is a page registered with userfaultfd sits
in handle_userfault() with whatever iterate_dir() took before it copied
the entries. Add readdir_hold.h for tests that want to know what that
blocks: it opens the userfaultfd before the test enters a user
namespace, the fault happens in the kernel and needs CAP_SYS_PTRACE in
the initial one, starts the readdir in a thread, waits until that
thread is stuck, queues a create behind it and waits for it to settle,
then probes a lookup with a watchdog and says whether it came back.
The page is released afterwards so that everything drains on a kernel
that still holds the lock across the copy.
The two users follow.
Link: https://patch.msgid.link/20261002-work-mount-fixes-4-v1-20-dd44b89d44ce@kernel.org
Signed-off-by: Christian Brauner (Amutable) <brauner@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python/stackcollapse.py')
0 files changed, 0 insertions, 0 deletions
