Re: [PATCH 05/16] getrlimit.2: old_getrlimit/ugetrlimit and RLIM_INFINITY discrepancies

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Eugene,

A question about the the below.

On 09/19/2018 07:12 PM, Eugene Syromyatnikov wrote:
> Signed-off-by: Eugene Syromyatnikov <evgsyr@xxxxxxxxx>
> ---
>  man2/getrlimit.2 | 31 +++++++++++++++++++++++++++++++
>  1 file changed, 31 insertions(+)
> 
> diff --git a/man2/getrlimit.2 b/man2/getrlimit.2
> index 705c1b0..fe821e1 100644
> --- a/man2/getrlimit.2
> +++ b/man2/getrlimit.2
> @@ -640,6 +640,37 @@ The name of the glibc wrapper function is
>  .BR prlimit ();
>  the underlying system call is
>  .BR prlimit64 ().
> +The corresponding infinity value constant is provided in
> +.I <linux/resource.h>
> +as
> +.BR RLIM64_INFINITY.
> +.PP
> +Original Linux implementation used signed types for limits; that was changed
> +(along with the value of the
> +.B RLIM_INFINITY
> +constant)
> +.\" http://repo.or.cz/davej-history.git/blobdiff/129f8758d8c41e0378ace0b6e2f56bbb8a1ec694..15305d2e69c3a838bacd78962c07077d2821f255:/include/linux/resource.h
> +during 2.4 development cycle, as it wasn't compatible
> +with Single UNIX Specification.
> +However, in order to preserve backward compatibility, the routine
> +.IR sys_old_getrlimit
> +has been implemented under
> +.B __NR_getrlimit
> +syscall slot, with infinity checks being performed against hard-coded 0x7fffffff
> +value, and the routine
> +.I sys_getrlimit
> +has been exposed under a new name,
> +.BR ugetrlimit ().
> +Note that most newer architectures don't have the latter, with
> +.BR getrlimit ()
> +providing proper implementation.
> +Also worth noting that Several architectures decided not to change
> +.B RLIM_INFINITY
> +value: 32-bit mips and sparc (but not 64-bit variants, that switched
> +to the new value of (~0UL)) retained the old 0x7fffffff value,
> +.\" https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/alpha/include/uapi/asm/resource.h#n15
> +and alpha, being unique among 64-bit architectures, retained
> +0x7ffffffffffffffful along with a request to call when one runs into it.

I don't understand "along with a request to call when one runs into it".
Can you say some more please?

>  .SH BUGS
>  In older Linux kernels, the
>  .B SIGXCPU

Thanks,

Michael



-- 
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/



[Index of Archives]     [Kernel Documentation]     [Netdev]     [Linux Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux