]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
posix: Fix invalid flags test for p{write,read}v2
authorYury Khrustalev <yury.khrustalev@arm.com>
Thu, 6 Nov 2025 12:57:58 +0000 (12:57 +0000)
committerYury Khrustalev <yury.khrustalev@arm.com>
Fri, 7 Nov 2025 08:57:09 +0000 (08:57 +0000)
Two tests fail from time to time when a new flag is added for the
p{write,read}v2 functions in a new Linux kernel:

 - misc/tst-preadvwritev2
 - misc/tst-preadvwritev64v2

This disrupts when testing Glibc on a system with a newer kernel
and it seems we can try improve testing for invalid flags setting
all the bits that are not supposed to be supported (rather than
setting only the next unsupported bit).

Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
misc/tst-preadvwritev2-common.c

index 8a59ff2f9d0a7e79de8d30ca86a41e0acb634b89..05fb899cd2fa14de6db84f27325a63865ae36a2d 100644 (file)
@@ -113,9 +113,8 @@ do_test_with_invalid_iov (void)
 static void
 do_test_with_invalid_flags (void)
 {
-  /* Set the next bit from the mask of all supported flags.  */
-  int invalid_flag = RWF_SUPPORTED != 0 ? __builtin_clz (RWF_SUPPORTED) : 2;
-  invalid_flag = 0x1 << ((sizeof (int) * CHAR_BIT) - invalid_flag);
+  /* Set all the bits that are not used by the supported flags.  */
+  int invalid_flag = ~RWF_SUPPORTED;
 
   char buf[32];
   const struct iovec vec = { .iov_base = buf, .iov_len = sizeof (buf) };