[LTP] [PATCH] getrlimit03: Allow for missing getrlimit syscall at runtime
Petr Vorel
pvorel@suse.cz
Tue Dec 11 09:57:45 CET 2018
Hi Richard,
> It appears that __NR_getrlimit can be missing or disabled in the kernel. For
> example this appears to be the case on the PPC64le platform. So this changes
> the test to return TCONF under these circumstances as this system call is
> redundant and libc can implement it in terms of other calls.
> Signed-off-by: Richard Palethorpe <rpalethorpe@suse.com>
Reviewed-by: Petr Vorel <pvorel@suse.cz>
> ---
...
> #if SIGNED_GETRLIMIT
> + if (seen_getrlimit_nosys)
> + goto EXIT;
> +
> errno = 0;
> ret_l = getrlimit_long(resource, &rlim_l);
> errno_l = errno;
> + if (errno_l == ENOSYS) {
> + tst_res(TCONF,
> + "__NR_getrlimit(%d) is not present", __NR_getrlimit);
> + seen_getrlimit_nosys = 1;
> + return;
> + }
> +
> if (compare_retval(resource, ret_u64, errno_u64, ret_l, errno_l,
> "__NR_getrlimit") ||
> compare_u64_long(resource, rlim_u64.rlim_cur, rlim_l.rlim_cur,
> @@ -172,6 +184,7 @@ static void run(unsigned int resource)
> return;
> #endif
> +EXIT:
Minor issue: EXIT should be before #endif (otherwise it issues warning on !SIGNED_GETRLIMIT.
> tst_res(TPASS, "getrlimit(%u) was consistent during all syscalls",
> resource);
> }
Kind regards,
Petr
More information about the ltp
mailing list