[LTP] [PATCH v2 2/2] syscalls/geteuid02: Convert into new api
Yang Xu (Fujitsu)
xuyang2018.jy@fujitsu.com
Wed Jul 12 04:01:53 CEST 2023
Hi Petr,
> Hi Xu,
>
>> - if (pwent == NULL)
>> - tst_resm(TFAIL | TERRNO, "getpwuid failed");
>> -
>> - UID16_CHECK(pwent->pw_uid, geteuid, cleanup);
> Don't we need to use UID16_CHECK()? In the new API version from
> compat_tst_16.h
>
>
Previously, the EUID was obtained from the return value of getpwuid()
and compared with the return value of geteuid() to check for a match.
This approach seemed more like a test of getpwuid() rather than testing
geteuid() itself.
EUID is stored in /proc/self/status, and we can directly obtain it for
comparison with the return from geteuid().
Best Regards
Yang Xu
> Kind regards,
> Petr
>
>> - if (pwent->pw_uid != TEST_RETURN)
>> - tst_resm(TFAIL, "getpwuid value, %d, "
>> - "does not match geteuid "
>> - "value, %ld", pwent->pw_uid,
>> - TEST_RETURN);
>> - else
>> - tst_resm(TPASS, "values from geteuid "
>> - "and getpwuid match");
>> - }
> ...
>> + TST_EXP_EXPR(TST_RET == uid[1],
>> + "geteuid() ret %ld == /proc/self/status EUID: %ld",
>> + TST_RET, uid[1]);
>> }
>
>> +static struct tst_test test = {
>> + .test_all = verify_geteuid,
>> +};
More information about the ltp
mailing list