On 6/20/25 7:55 PM, Chen Linxuan wrote: > On Fri, Jun 20, 2025 at 10:46 PM Muhammad Usama Anjum > <usama.an...@collabora.com> wrote: >> >> On 6/20/25 8:50 AM, Chen Linxuan wrote: >>> When running `make kselftest`, the following compilation warning was >>> encountered: >>> >>> mount-notify_test.c: In function ‘fanotify_rmdir’: >>> mount-notify_test.c:490:17: warning: ignoring return value of ‘chdir’ >>> declared with attribute ‘warn_unused_result’ [-Wunused-result] >>> 490 | chdir("/"); >>> | ^~~~~~~~~~ >>> >>> Signed-off-by: Chen Linxuan <chenlinx...@uniontech.com> >>> --- >>> Changes in v2: >>> - Apply changes suggested by Shuah Khan >>> - Link to v1: >>> https://lore.kernel.org/all/20250610020758.2798787-2-chenlinx...@uniontech.com/ >>> --- >>> .../filesystems/mount-notify/mount-notify_test.c | 15 ++++++++++----- >>> .../mount-notify/mount-notify_test_ns.c | 15 ++++++++++----- >>> 2 files changed, 20 insertions(+), 10 deletions(-) >>> >>> diff --git >>> a/tools/testing/selftests/filesystems/mount-notify/mount-notify_test.c >>> b/tools/testing/selftests/filesystems/mount-notify/mount-notify_test.c >>> index 5a3b0ace1a88c..f8e0c6b06e2d9 100644 >>> --- a/tools/testing/selftests/filesystems/mount-notify/mount-notify_test.c >>> +++ b/tools/testing/selftests/filesystems/mount-notify/mount-notify_test.c >>> @@ -458,12 +458,17 @@ TEST_F(fanotify, rmdir) >>> ASSERT_GE(ret, 0); >>> >>> if (ret == 0) { >>> - chdir("/"); >>> - unshare(CLONE_NEWNS); >>> - mount("", "/", NULL, MS_REC|MS_PRIVATE, NULL); >>> - umount2("/a", MNT_DETACH); >>> + if (chdir("/")) >> Please use the APIs provided by the kselftest_harness.h instead of checking >> return types manually. For example: >> use ASSERT_EQ(chdir("/", 0)). > > Are you sure?We're in a forked sub process here. ASSERT_* are macros. They can be used anywhere. Please give it a try.
> >> >>> + exit(-1); >>> + if (unshare(CLONE_NEWNS)) >>> + exit(-1); >>> + if (mount("", "/", NULL, MS_REC|MS_PRIVATE, NULL)) >>> + exit(-1); >>> + if (umount2("/a", MNT_DETACH)) >>> + exit(-1); >>> // This triggers a detach in the other namespace >>> - rmdir("/a"); >>> + if (rmdir("/a")) >>> + exit(-1); >>> exit(0); >>> } >>> wait(NULL); >>> diff --git >>> a/tools/testing/selftests/filesystems/mount-notify/mount-notify_test_ns.c >>> b/tools/testing/selftests/filesystems/mount-notify/mount-notify_test_ns.c >>> index d91946e69591a..d6a6a7ee87028 100644 >>> --- >>> a/tools/testing/selftests/filesystems/mount-notify/mount-notify_test_ns.c >>> +++ >>> b/tools/testing/selftests/filesystems/mount-notify/mount-notify_test_ns.c >>> @@ -486,12 +486,17 @@ TEST_F(fanotify, rmdir) >>> ASSERT_GE(ret, 0); >>> >>> if (ret == 0) { >>> - chdir("/"); >>> - unshare(CLONE_NEWNS); >>> - mount("", "/", NULL, MS_REC|MS_PRIVATE, NULL); >>> - umount2("/a", MNT_DETACH); >>> + if (chdir("/")) >>> + exit(-1); >>> + if (unshare(CLONE_NEWNS)) >>> + exit(-1); >>> + if (mount("", "/", NULL, MS_REC|MS_PRIVATE, NULL)) >>> + exit(-1); >>> + if (umount2("/a", MNT_DETACH)) >>> + exit(-1); >>> // This triggers a detach in the other namespace >>> - rmdir("/a"); >>> + if (rmdir("/a")) >>> + exit(-1); >>> exit(0); >>> } >>> wait(NULL); >> >> >>