aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEugene Syromyatnikov <evgsyr@gmail.com>2018-09-19 19:12:22 +0200
committerMichael Kerrisk <mtk.manpages@gmail.com>2019-02-25 15:08:51 +0100
commitff5fa0ace32c326aa3c0423f2b561ca0db5f211f (patch)
treef3d8050ce2ecd02805cbb1a40628ae49e92a5e7b
parenta5819baa01d1f37cd226540f23d94818a16f264a (diff)
downloadman-pages-ff5fa0ace32c326aa3c0423f2b561ca0db5f211f.tar.gz
getrlimit.2: Correct information about large limits on 32-bit architectures
Signed-off-by: Eugene Syromyatnikov <evgsyr@gmail.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
-rw-r--r--man2/getrlimit.215
1 files changed, 5 insertions, 10 deletions
diff --git a/man2/getrlimit.2 b/man2/getrlimit.2
index f488af4880..de374f514f 100644
--- a/man2/getrlimit.2
+++ b/man2/getrlimit.2
@@ -734,7 +734,11 @@ and
.BR setrlimit ()
system calls is a (32-bit)
.IR "unsigned long" .
-Furthermore, in Linux versions before 2.6.36,
+.\" Linux still uses long for limits internally:
+.\" c022a0acad534fd5f5d5f17280f6d4d135e74e81
+.\" kernel/sys.c:do_prlimit() still uses struct rlimit which
+.\" uses kernel_ulong_t for its members, i.e. 32-bit on 32-bit kernel.
+Furthermore, in Linux,
the kernel represents resource limits on 32-bit platforms as
.IR "unsigned long" .
However, a 32-bit data type is not wide enough.
@@ -760,15 +764,6 @@ wrapper function silently converted the limit value to
.BR RLIM_INFINITY .
In other words, the requested resource limit setting was silently ignored.
.PP
-This problem was addressed in Linux 2.6.36 with two principal changes:
-.IP * 3
-the addition of a new kernel representation of resource limits that
-uses 64 bits, even on 32-bit platforms;
-.IP *
-the addition of the
-.BR prlimit ()
-system call, which employs 64-bit values for its resource limit arguments.
-.PP
Since version 2.13,
.\" https://www.sourceware.org/bugzilla/show_bug.cgi?id=12201
glibc works around the limitations of the