[LTP] [PATCH] syscalls/execve04, creat07: skip for kernels 6.11 and later

Petr Vorel pvorel@suse.cz
Mon Aug 12 14:02:21 CEST 2024


Hi Jan,

> The behaviour is allowed since commit:
>   2a010c412853 ("fs: don't block i_writecount during exec")
> that landed in 6.11-rc1.

Thanks for noticing and fixing this!

It was reported some time ago:
https://lore.kernel.org/all/202406141431.2b72ca61-oliver.sang@intel.com/
https://lore.kernel.org/ltp/202407162117.7730986d-oliver.sang@intel.com/

Reviewed-by: Petr Vorel <pvorel@suse.cz>

Kind regards,
Petr

> Signed-off-by: Jan Stancek <jstancek@redhat.com>
> ---
>  testcases/kernel/syscalls/creat/creat07.c   | 10 ++++++++++
>  testcases/kernel/syscalls/execve/execve04.c | 10 ++++++++++
>  2 files changed, 20 insertions(+)

> diff --git a/testcases/kernel/syscalls/creat/creat07.c b/testcases/kernel/syscalls/creat/creat07.c
> index 7bd32ab4d328..f157e1a8fbb2 100644
> --- a/testcases/kernel/syscalls/creat/creat07.c
> +++ b/testcases/kernel/syscalls/creat/creat07.c
> @@ -47,7 +47,17 @@ static void verify_creat(void)
>  	SAFE_WAITPID(pid, NULL, 0);
>  }

> +static void setup(void)
> +{
> +	if ((tst_kvercmp(6, 11, 0)) >= 0) {
> +		tst_brk(TCONF, "Skipping test, write to executed file is "
> +			"allowed since 6.11-rc1.\n"
> +			"2a010c412853 (\"fs: don't block i_writecount during exec\")");
> +	}
> +}
> +
>  static struct tst_test test = {
> +	.setup = setup,
>  	.test_all = verify_creat,
>  	.needs_checkpoints = 1,
>  	.forks_child = 1,
> diff --git a/testcases/kernel/syscalls/execve/execve04.c b/testcases/kernel/syscalls/execve/execve04.c
> index 3bac642e5412..7bbfece85906 100644
> --- a/testcases/kernel/syscalls/execve/execve04.c
> +++ b/testcases/kernel/syscalls/execve/execve04.c
> @@ -65,7 +65,17 @@ static void do_child(void)
>  	exit(0);
>  }

> +static void setup(void)
> +{
> +	if ((tst_kvercmp(6, 11, 0)) >= 0) {
> +		tst_brk(TCONF, "Skipping test, write to executed file is "
> +			"allowed since 6.11-rc1.\n"
> +			"2a010c412853 (\"fs: don't block i_writecount during exec\")");
> +	}
> +}
> +
>  static struct tst_test test = {
> +	.setup = setup,
>  	.test_all = verify_execve,
>  	.forks_child = 1,
>  	.child_needs_reinit = 1,


More information about the ltp mailing list