From: Hongbo Li Date: Tue, 29 Oct 2024 12:53:29 +0000 (+0800) Subject: bcachefs: check the invalid parameter for perf test X-Git-Tag: v6.12-rc7~21^2~3 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9bb33852f5cc145b17d96f3792ff69148a37e1fd;p=thirdparty%2Flinux.git bcachefs: check the invalid parameter for perf test The perf_test does not check the number of iterations and threads when it is zero. If nr_thread is 0, the perf test will keep waiting for wakekup. If iteration is 0, it will cause exception of division by zero. This can be reproduced by: echo "rand_insert 0 1" > /sys/fs/bcachefs/${uuid}/perf_test or echo "rand_insert 1 0" > /sys/fs/bcachefs/${uuid}/perf_test Fixes: 1c6fdbd8f246 ("bcachefs: Initial commit") Signed-off-by: Hongbo Li Signed-off-by: Kent Overstreet --- diff --git a/fs/bcachefs/tests.c b/fs/bcachefs/tests.c index 315038a0a92d4..fb5c1543e52f0 100644 --- a/fs/bcachefs/tests.c +++ b/fs/bcachefs/tests.c @@ -809,6 +809,11 @@ int bch2_btree_perf_test(struct bch_fs *c, const char *testname, unsigned i; u64 time; + if (nr == 0 || nr_threads == 0) { + pr_err("nr of iterations or threads is not allowed to be 0"); + return -EINVAL; + } + atomic_set(&j.ready, nr_threads); init_waitqueue_head(&j.ready_wait);