On Fri, Jun 20, 2025 at 5:41 AM Shuah Khan skhan@linuxfoundation.org wrote:
On 6/19/25 13:00, John Hubbard wrote:
On 6/19/25 10:00 AM, Shuah Khan wrote:
On 6/19/25 01:46, Chen Linxuan wrote:
On Thu, Jun 19, 2025 at 5:23 AM Shuah Khan skhan@linuxfoundation.org wrote:
On 6/9/25 20:07, Chen Linxuan wrote:
...
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 63ce708d93ed0..34afe27b7978f 100644 --- a/tools/testing/selftests/filesystems/mount-notify/mount- notify_test.c +++ b/tools/testing/selftests/filesystems/mount-notify/mount- notify_test.c @@ -465,7 +465,9 @@ TEST_F(fanotify, rmdir) ASSERT_GE(ret, 0);
if (ret == 0) {
chdir("/");
// Suppress -Wunused-result
// Ref: https://gcc.gnu.org/bugzilla/show_bug.cgi? id=66425#c34
(void) !chdir("/");
This is quite ugly. :)
I agree with you. :)
> Why not fix the problem the right way by checking the return value.
Suppressing the error isn't useful.
The code is already handling cleanup in error cases, and I don't think checking the result of chdir would be useful here.
I think I was mistaken earlier. Here we are in the child process after a fork, not handling an error case. I think simply calling exit(-1) here when chdir failed should be enough to make the test fail in the parent process. Maybe we should do the same for other similar calls as well. I will send a v2 soon.
Why not just fail with the appropriate test result, if chdir() fails here, instead of making a bit of a mess with odd void casts to a negated return value, and a reference to a compiler bug report?
Really, Shuah is putting you on the right path here.
Ha. I didn't ask to suppress the error with the cast. I asked to check the return and fail.
We check for chdir() in several tools in the kernel. Add a check for it instead of suppressing the [-Wunused-result] - suppressing doesn't do any good.
This is what I said.
thanks, -- Shuah