.../filesystems/mount-notify/mount-notify_test.c | 15 ++++++++++----- .../mount-notify/mount-notify_test_ns.c | 15 ++++++++++----- 2 files changed, 20 insertions(+), 10 deletions(-)
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@uniontech.com>
---
Changes in v2:
- Apply changes suggested by Shuah Khan
- Link to v1: https://lore.kernel.org/all/20250610020758.2798787-2-chenlinxuan@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("/"))
+ 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);
--
2.43.0
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@uniontech.com>
> ---
> Changes in v2:
> - Apply changes suggested by Shuah Khan
> - Link to v1: https://lore.kernel.org/all/20250610020758.2798787-2-chenlinxuan@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)).
> + 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);
On Fri, Jun 20, 2025 at 10:46 PM Muhammad Usama Anjum
<usama.anjum@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 <chenlinxuan@uniontech.com>
> > ---
> > Changes in v2:
> > - Apply changes suggested by Shuah Khan
> > - Link to v1: https://lore.kernel.org/all/20250610020758.2798787-2-chenlinxuan@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.
>
> > + 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);
>
>
>
On 6/20/25 7:55 PM, Chen Linxuan wrote:
> On Fri, Jun 20, 2025 at 10:46 PM Muhammad Usama Anjum
> <usama.anjum@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 <chenlinxuan@uniontech.com>
>>> ---
>>> Changes in v2:
>>> - Apply changes suggested by Shuah Khan
>>> - Link to v1: https://lore.kernel.org/all/20250610020758.2798787-2-chenlinxuan@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);
>>
>>
>>
On Mon, Jun 23, 2025 at 12:22 PM Muhammad Usama Anjum
<usama.anjum@collabora.com> wrote:
>
> On 6/20/25 7:55 PM, Chen Linxuan wrote:
> > On Fri, Jun 20, 2025 at 10:46 PM Muhammad Usama Anjum
> > <usama.anjum@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 <chenlinxuan@uniontech.com>
> >>> ---
> >>> Changes in v2:
> >>> - Apply changes suggested by Shuah Khan
> >>> - Link to v1: https://lore.kernel.org/all/20250610020758.2798787-2-chenlinxuan@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.
V3: https://lore.kernel.org/all/20250623045711.3564655-2-chenlinxuan@uniontech.com/
>
> >
> >>
> >>> + 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);
> >>
> >>
> >>
>
>
>
© 2016 - 2026 Red Hat, Inc.