diff mbox series

[RFC,1/1] readahead01: Pass also on memfd secret

Message ID 20240118191353.2815915-1-pvorel@suse.cz
State Accepted
Headers show
Series [RFC,1/1] readahead01: Pass also on memfd secret | expand

Commit Message

Petr Vorel Jan. 18, 2024, 7:13 p.m. UTC
It fixes failure on 6.6 kernels:

TFAIL: readahead() on memfd secret succeeded

Fixes: ecf81d729 ("syscalls: readahead01: Make use of tst_fd")
Reported-by: Dominique Leuenberger <dimstar@opensuse.org>
Signed-off-by: Petr Vorel <pvorel@suse.cz>
---
Hi,

I wonder if this is a bug or just changed functionality.

I also tested on 5.14 SLES and 5.10 Debian and both TCONF due ENOSYS:

tst_fd.c:260: TCONF: Skipping memfd secret: ENOSYS (38)

Kind regards,
Petr

 testcases/kernel/syscalls/readahead/readahead01.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Li Wang Jan. 19, 2024, 6:57 a.m. UTC | #1
Hi Petr, All,

I'm not sure but one point I guess that should be similar to 'TST_FD_MEMFD'
since the file is RAM-based so readahead() is not needed.

Your patch looks good, however, I was unable to get the clue in kernel code
to prove that.


On Fri, Jan 19, 2024 at 3:14 AM Petr Vorel <pvorel@suse.cz> wrote:

> It fixes failure on 6.6 kernels:
>
> TFAIL: readahead() on memfd secret succeeded
>
> Fixes: ecf81d729 ("syscalls: readahead01: Make use of tst_fd")
> Reported-by: Dominique Leuenberger <dimstar@opensuse.org>
> Signed-off-by: Petr Vorel <pvorel@suse.cz>
> ---
> Hi,
>
> I wonder if this is a bug or just changed functionality.
>
> I also tested on 5.14 SLES and 5.10 Debian and both TCONF due ENOSYS:
>
> tst_fd.c:260: TCONF: Skipping memfd secret: ENOSYS (38)
>
> Kind regards,
> Petr
>
>  testcases/kernel/syscalls/readahead/readahead01.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/testcases/kernel/syscalls/readahead/readahead01.c
> b/testcases/kernel/syscalls/readahead/readahead01.c
> index e86a73e3e..a1f313605 100644
> --- a/testcases/kernel/syscalls/readahead/readahead01.c
> +++ b/testcases/kernel/syscalls/readahead/readahead01.c
> @@ -51,6 +51,7 @@ static void test_invalid_fd(struct tst_fd *fd)
>         /* These succeed */
>         case TST_FD_FILE:
>         case TST_FD_MEMFD:
> +       case TST_FD_MEMFD_SECRET:
>         case TST_FD_PROC_MAPS:
>                 return;
>         default:
> --
> 2.43.0
>
>
Jan Kara Jan. 19, 2024, 3:33 p.m. UTC | #2
On Thu 18-01-24 20:13:53, Petr Vorel wrote:
> It fixes failure on 6.6 kernels:
> 
> TFAIL: readahead() on memfd secret succeeded
> 
> Fixes: ecf81d729 ("syscalls: readahead01: Make use of tst_fd")
> Reported-by: Dominique Leuenberger <dimstar@opensuse.org>
> Signed-off-by: Petr Vorel <pvorel@suse.cz>

Yes, memfd secret is standard tmpfs file in principle so readahead(2)
succeeds. Feel free to add:

Reviewed-by: Jan Kara <jack@suse.cz>

								Honza

> ---
> Hi,
> 
> I wonder if this is a bug or just changed functionality.
> 
> I also tested on 5.14 SLES and 5.10 Debian and both TCONF due ENOSYS:
> 
> tst_fd.c:260: TCONF: Skipping memfd secret: ENOSYS (38)
> 
> Kind regards,
> Petr
> 
>  testcases/kernel/syscalls/readahead/readahead01.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/testcases/kernel/syscalls/readahead/readahead01.c b/testcases/kernel/syscalls/readahead/readahead01.c
> index e86a73e3e..a1f313605 100644
> --- a/testcases/kernel/syscalls/readahead/readahead01.c
> +++ b/testcases/kernel/syscalls/readahead/readahead01.c
> @@ -51,6 +51,7 @@ static void test_invalid_fd(struct tst_fd *fd)
>  	/* These succeed */
>  	case TST_FD_FILE:
>  	case TST_FD_MEMFD:
> +	case TST_FD_MEMFD_SECRET:
>  	case TST_FD_PROC_MAPS:
>  		return;
>  	default:
> -- 
> 2.43.0
> 
> 
> -- 
> Mailing list info: https://lists.linux.it/listinfo/ltp
Petr Vorel Jan. 21, 2024, 7:35 p.m. UTC | #3
Hi all,

...
> Yes, memfd secret is standard tmpfs file in principle so readahead(2)
> succeeds. Feel free to add:

Jan, thanks a lot for having a look!
Fix merged.

Kind regards,
Petr

> Reviewed-by: Jan Kara <jack@suse.cz>

> 								Honza
diff mbox series

Patch

diff --git a/testcases/kernel/syscalls/readahead/readahead01.c b/testcases/kernel/syscalls/readahead/readahead01.c
index e86a73e3e..a1f313605 100644
--- a/testcases/kernel/syscalls/readahead/readahead01.c
+++ b/testcases/kernel/syscalls/readahead/readahead01.c
@@ -51,6 +51,7 @@  static void test_invalid_fd(struct tst_fd *fd)
 	/* These succeed */
 	case TST_FD_FILE:
 	case TST_FD_MEMFD:
+	case TST_FD_MEMFD_SECRET:
 	case TST_FD_PROC_MAPS:
 		return;
 	default: