[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