[LTP] [PATCH] getdents: account for d_name size in tst_dirp_size
Jan Stancek
jstancek@redhat.com
Mon Sep 16 12:32:39 CEST 2024
On Mon, Sep 16, 2024 at 11:30 AM Andreas Schwab <schwab@suse.de> wrote:
>
> The linux_dirent and linux_dirent64 structs do not contain space for the
> d_name member. Add NAME_MAX to the size in tst_dirp_size so that the
> getdents syscalls do not spuriously fail with EINVAL instead of EFAULT.
Signed-off-by seems missing.
Acked-by: Jan Stancek <jstancek@redhat.com>
> ---
> testcases/kernel/syscalls/getdents/getdents.h | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/testcases/kernel/syscalls/getdents/getdents.h b/testcases/kernel/syscalls/getdents/getdents.h
> index 560df4126..02c3bc509 100644
> --- a/testcases/kernel/syscalls/getdents/getdents.h
> +++ b/testcases/kernel/syscalls/getdents/getdents.h
> @@ -64,9 +64,9 @@ tst_dirp_size(void)
> {
> switch (tst_variant) {
> case 0:
> - return sizeof(struct linux_dirent);
> + return sizeof(struct linux_dirent) + NAME_MAX;
> case 1:
> - return sizeof(struct linux_dirent64);
> + return sizeof(struct linux_dirent64) + NAME_MAX;
> #if HAVE_GETDENTS
> case 2:
> return sizeof(struct dirent);
> --
> 2.46.1
>
>
> --
> Andreas Schwab, SUSE Labs, schwab@suse.de
> GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7
> "And now for something completely different."
>
> --
> Mailing list info: https://lists.linux.it/listinfo/ltp
>
More information about the ltp
mailing list