[LTP] [PATCH] setfsuid02: Fix a fake failure for setfsuid02

Zhou, You you.zhou@intel.com
Tue Nov 1 02:41:54 CET 2022


Hi, Petr,

I try the patch from Avinesh, the test result is normal, so the purpose of this test case is to try to set an invalid uid?


Best wishes
You Zhou

-----Original Message-----
From: Petr Vorel <pvorel@suse.cz> 
Sent: Monday, October 31, 2022 6:59 PM
To: Zhou, You <you.zhou@intel.com>
Cc: ltp@lists.linux.it
Subject: Re: [LTP] [PATCH] setfsuid02: Fix a fake failure for setfsuid02

> When run setfsuid02 case on x86_64 platform, I got a failure even if 
> the filesystem user ID is set successfully.
> "
> ./setfsuid02
> tst_test.c:1526: TINFO: Timeout per run is 0h 00m 30s
> setfsuid02.c:31: TFAIL: setfsuid(invalid_fsuid) test for expected
> 			failure: retval 11 != 0: SUCCESS (0)

> Summary:
> passed   0
> failed   1
> broken   0
> skipped  0
> warnings 0
> "

> On both success and failure, setfsuid syscall returns the previous 
> filesystem user ID of the caller. In this case, if case sets 
> filesystem user ID successfully for the first time, this syscall can 
> return the ID previously set for the second time.

> Reported-by: Pengfei Xu <pengfei.xu@intel.com>
> Signed-off-by: You Zhou <you.zhou@intel.com>
> ---
>  testcases/kernel/syscalls/setfsuid/setfsuid02.c | 5 +++++
>  1 file changed, 5 insertions(+)

> diff --git a/testcases/kernel/syscalls/setfsuid/setfsuid02.c 
> b/testcases/kernel/syscalls/setfsuid/setfsuid02.c
> index 850f17834..441d1e27a 100644
> --- a/testcases/kernel/syscalls/setfsuid/setfsuid02.c
> +++ b/testcases/kernel/syscalls/setfsuid/setfsuid02.c
> @@ -28,8 +28,13 @@ static void run(void)
>  	UID16_CHECK(invalid_uid, setfsuid);

>  	TST_EXP_VAL_SILENT(SETFSUID(invalid_uid), current_uid);
> +#if __x86_64__
> +	TST_EXP_VAL(SETFSUID(invalid_uid), invalid_uid,
> +		    "setfsuid(invalid_fsuid) test for expected failure:");
Hi You,

this is most certainly invalid way of fixing things.

Would you mind to test if the patch from Avinesh works for you?
https://lore.kernel.org/ltp/20221027140954.4094-1-akumar@suse.de/

Kind regards,
Petr

> +#else
>  	TST_EXP_VAL(SETFSUID(invalid_uid), current_uid,
>  		    "setfsuid(invalid_fsuid) test for expected failure:");
> +#endif
>  }

>  static struct tst_test test = {


More information about the ltp mailing list