aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/sysv')
-rw-r--r--sysdeps/unix/sysv/linux/readonly-area.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/sysdeps/unix/sysv/linux/readonly-area.c b/sysdeps/unix/sysv/linux/readonly-area.c
index 29224d98b9..69e926a7a1 100644
--- a/sysdeps/unix/sysv/linux/readonly-area.c
+++ b/sysdeps/unix/sysv/linux/readonly-area.c
@@ -35,10 +35,15 @@ __readonly_area (const char *ptr, size_t size)
FILE *fp = fopen ("/proc/self/maps", "rc");
if (fp == NULL)
{
- if (errno == ENOENT)
- /* It is the system administrator's choice to not have /proc
- available to this process (e.g., because it runs in a chroot
- environment. Don't fail in this case. */
+ /* It is the system administrator's choice to not have /proc
+ available to this process (e.g., because it runs in a chroot
+ environment. Don't fail in this case. */
+ if (errno == ENOENT
+ /* The kernel has a bug in that a process is denied access
+ to the /proc filesystem if it is set[ug]id. There has
+ been no willingness to change this in the kernel so
+ far. */
+ || errno == EACCES)
return 1;
return -1;
}