[PATCH] posix: Fix invalid flags test for p{write,read}v2

Adhemerval Zanella Netto adhemerval.zanella@linaro.org
Thu Nov 6 16:17:21 GMT 2025



On 06/11/25 16:04, Yury Khrustalev wrote:
> 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).
> 
> ---
> Base commit: 975c8c4e22
> Passes regression on aarch64 and x86 as well as build-many-glibcs
> for Hurd targets. OK for trunk?
> 

LGTM, thanks.

Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>

> ---
>  misc/tst-preadvwritev2-common.c | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/misc/tst-preadvwritev2-common.c b/misc/tst-preadvwritev2-common.c
> index 8a59ff2f9d..05fb899cd2 100644
> --- a/misc/tst-preadvwritev2-common.c
> +++ b/misc/tst-preadvwritev2-common.c
> @@ -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) };



More information about the Libc-alpha mailing list