]>
Commit | Line | Data |
---|---|---|
1 | diff -urN glibc-2.3.5.orig/sysdeps/unix/sysv/linux/dl-execstack.c glibc-2.3.5/sysdeps/unix/sysv/linux/dl-execstack.c | |
2 | --- glibc-2.3.5.orig/sysdeps/unix/sysv/linux/dl-execstack.c 2005-09-23 13:07:35.000000000 +0200 | |
3 | +++ glibc-2.3.5/sysdeps/unix/sysv/linux/dl-execstack.c 2005-09-23 13:31:45.000000000 +0200 | |
4 | @@ -60,7 +60,10 @@ | |
5 | no_growsupdown = true; | |
6 | else | |
7 | # endif | |
8 | - return errno; | |
9 | + if (errno == EACCES) /* PaX */ | |
10 | + return 0; | |
11 | + else | |
12 | + return errno; | |
13 | } | |
14 | #endif | |
15 | ||
16 | @@ -86,7 +89,10 @@ | |
17 | { | |
18 | /* Unexpected failure mode. */ | |
19 | if (errno != ENOMEM && errno != EFAULT) | |
20 | - return errno; | |
21 | + if (errno == EACCES) /* PaX */ | |
22 | + return 0; | |
23 | + else | |
24 | + return errno; | |
25 | ||
26 | if (size == GLRO(dl_pagesize)) | |
27 | /* We just tried to mprotect the top hole page and failed. | |
28 | @@ -110,7 +116,10 @@ | |
29 | { | |
30 | /* Unexpected failure mode. */ | |
31 | if (errno != ENOMEM && errno != EFAULT) | |
32 | - return errno; | |
33 | + if (errno == EACCES) /* PaX */ | |
34 | + return 0; | |
35 | + else | |
36 | + return errno; | |
37 | ||
38 | if (size == GLRO(dl_pagesize)) | |
39 | /* We just tried to mprotect the lowest hole page and failed. |