freebsd-dev/sys/compat
Dmitry Chagin ef1976ccf5 linprocfs: Skip printing of the guard page in the /proc/self/maps
To calculate the base (lowest addressable) address of the stack of the
initial thread glibc parses /proc/self/maps.
In fact, the base address is calculated as 'to' value of stack entry of the
/proc/self/maps - stack size limit (if the stack grows down).
The base address should fit in between preceding entry and stack entry of
the /proc/self/maps.
In FreeBSD, since 19bd0d9 (Implement address space guards), we actually
have two mappings for the stack region. The first one is the no-access
mapping for the region the stack can grow into (guard page), and the
second - initial stack region with size sgrowsiz.
The first mapping confuses Glibc, in the end which is improperly
calculate stack size and the base address.

PR:			253337
Reviewed by:		kib
Differential revision:	https://reviews.freebsd.org/D35537
MFC after:		2 week
2022-06-22 14:49:40 +03:00
..
freebsd32 Finish cpuset_getaffinity() after f35093f8 2022-05-28 20:53:08 +03:00
ia32 Retire sv_transtrap 2022-05-20 14:54:03 +03:00
lindebugfs lindebugfs: The Linux file operations use negative return values in the kernel. 2022-03-11 17:41:33 +01:00
linprocfs linprocfs: Skip printing of the guard page in the /proc/self/maps 2022-06-22 14:49:40 +03:00
linsysfs linsysfs: plug set-but-not-used vars. 2022-03-31 23:49:26 +03:00
linux linux(4): Trace Linux l_sigset_t. 2022-06-22 14:09:54 +03:00
linuxkpi/common LinuxKPI: add asm/neon.h 2022-06-21 19:10:43 +02:00
x86bios Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00