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

Chen Linxuan posted 1 patch 3 months, 2 weeks ago
There is a newer version of this series
.../filesystems/mount-notify/mount-notify_test.c  | 15 ++++++++++-----
.../mount-notify/mount-notify_test_ns.c           | 15 ++++++++++-----
2 files changed, 20 insertions(+), 10 deletions(-)
[PATCH v2] selftests/filesystems/mount-notify: fix unused unused result warning
Posted by Chen Linxuan 3 months, 2 weeks ago
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

Re: [PATCH v2] selftests/filesystems/mount-notify: fix unused unused result warning
Posted by Muhammad Usama Anjum 3 months, 2 weeks ago
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);

Re: [PATCH v2] selftests/filesystems/mount-notify: fix unused unused result warning
Posted by Chen Linxuan 3 months, 2 weeks ago
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);
>
>
>
Re: [PATCH v2] selftests/filesystems/mount-notify: fix unused unused result warning
Posted by Muhammad Usama Anjum 3 months, 2 weeks ago
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);
>>
>>
>>

Re: [PATCH v2] selftests/filesystems/mount-notify: fix unused unused result warning
Posted by Chen Linxuan 3 months, 2 weeks ago
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);
> >>
> >>
> >>
>
>
>