Re: [PATCH v2] selftests/filesystems/mount-notify: fix unused unused result warning

From: Chen Linxuan
Date: Fri Jun 20 2025 - 10:56:31 EST


On Fri, Jun 20, 2025 at 10:46 PM Muhammad Usama Anjum
<usama.anjum@xxxxxxxxxxxxx> 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 <chenlinxuan@xxxxxxxxxxxxx>
> > ---
> > Changes in v2:
> > - Apply changes suggested by Shuah Khan
> > - Link to v1: https://lore.kernel.org/all/20250610020758.2798787-2-chenlinxuan@xxxxxxxxxxxxx/
> > ---
> > .../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.

>
> > + 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);
>
>
>