mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-15 14:32:06 +00:00
Add a simple file stressor that lives directly in-tree. This will create
a bunch of processes that each open 500 file descriptors and then use
close_range() to close them all.
Concurrently, other processes read /proc/<pid>/fd/ which rougly does
f = fget_task_next(p, &fd);
if (!f)
break;
data.mode = f->f_mode;
fput(f);
Which means that it'll try to get a reference to a file in another
task's file descriptor table.
Under heavy file load it is increasingly likely that the other task will
manage to close @file and @file will be recycled due to
SLAB_TYPEAFE_BY_RCU concurrently. This will trigger various warnings in
the file reference counting code.
Link: https://lore.kernel.org/r/20241021-vergab-streuen-924df15dceb9@brauner
Signed-off-by: Christian Brauner <brauner@kernel.org>
8 lines
165 B
Makefile
8 lines
165 B
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
|
|
CFLAGS += $(KHDR_INCLUDES)
|
|
TEST_GEN_PROGS := devpts_pts file_stressor
|
|
TEST_GEN_PROGS_EXTENDED := dnotify_test
|
|
|
|
include ../lib.mk
|