diff options
author | Marco Elver <elver@google.com> | 2021-08-09 13:25:09 +0200 |
---|---|---|
committer | Paul E. McKenney <paulmck@kernel.org> | 2021-09-14 01:41:19 +0200 |
commit | e80704272f5c3f80d315144b5eeaf867082c94ad (patch) | |
tree | 1806302e7ea4a2bbe09a687f8bf7fb943a0bd27b /kernel | |
parent | Linux 5.15-rc1 (diff) | |
download | linux-e80704272f5c3f80d315144b5eeaf867082c94ad.tar.xz linux-e80704272f5c3f80d315144b5eeaf867082c94ad.zip |
kcsan: test: Defer kcsan_test_init() after kunit initialization
When the test is built into the kernel (not a module), kcsan_test_init()
and kunit_init() both use late_initcall(), which means kcsan_test_init()
might see a NULL debugfs_rootdir as parent dentry, resulting in
kcsan_test_init() and kcsan_debugfs_init() both trying to create a
debugfs node named "kcsan" in debugfs root. One of them will show an
error and be unsuccessful.
Defer kcsan_test_init() until we're sure kunit was initialized.
Signed-off-by: Marco Elver <elver@google.com>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/kcsan/kcsan_test.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/kcsan/kcsan_test.c b/kernel/kcsan/kcsan_test.c index dc55fd5a36fc..df041bdb6088 100644 --- a/kernel/kcsan/kcsan_test.c +++ b/kernel/kcsan/kcsan_test.c @@ -1224,7 +1224,7 @@ static void kcsan_test_exit(void) tracepoint_synchronize_unregister(); } -late_initcall(kcsan_test_init); +late_initcall_sync(kcsan_test_init); module_exit(kcsan_test_exit); MODULE_LICENSE("GPL v2"); |