Re: [PATCH 2/3] tools/nolibc: add support for getrlimit/setrlimit

From: Willy Tarreau
Date: Sun Nov 26 2023 - 04:28:54 EST


Hi Thomas,

> +int test_rlimit(void)
> +{
> + struct rlimit rlim = {
> + .rlim_cur = 1 << 20,
> + .rlim_max = 1 << 20,
> + };
> + int ret;
> +
> + ret = setrlimit(RLIMIT_CORE, &rlim);
> + if (ret)
> + return -1;
> +
> + rlim.rlim_cur = 0;
> + rlim.rlim_max = 0;
> +
> + ret = getrlimit(RLIMIT_CORE, &rlim);
> + if (ret)
> + return -1;
> +
> + if (rlim.rlim_cur != 1 << 20)
> + return -1;
> + if (rlim.rlim_max != 1 << 20)
> + return -1;

I think you should used two different values here for cur and max so
that you can also detect stupid API bugs such as a union being used
instead of a struct, or copy-pastes in the implementation etc. For
example using 1<<20 and 1<<21 should do the trick.

Otherwise Ack-by me for the whole series, of course.

Thanks,
Willy