SOURCES (AC-branch): glibc-pax_dl-execstack.patch - updated

kosmo kosmo at pld-linux.org
Fri Sep 23 13:35:21 CEST 2005


Author: kosmo                        Date: Fri Sep 23 11:35:21 2005 GMT
Module: SOURCES                       Tag: AC-branch
---- Log message:
- updated

---- Files affected:
SOURCES:
   glibc-pax_dl-execstack.patch (1.1 -> 1.1.4.1) 

---- Diffs:

================================================================
Index: SOURCES/glibc-pax_dl-execstack.patch
diff -u SOURCES/glibc-pax_dl-execstack.patch:1.1 SOURCES/glibc-pax_dl-execstack.patch:1.1.4.1
--- SOURCES/glibc-pax_dl-execstack.patch:1.1	Thu Mar 18 16:40:28 2004
+++ SOURCES/glibc-pax_dl-execstack.patch	Fri Sep 23 13:35:15 2005
@@ -1,70 +1,39 @@
---- glibc-2.3.3/sysdeps/unix/sysv/linux/dl-execstack.c.orig	2003-12-05 01:26:05.000000000 +0100
-+++ glibc-2.3.3/sysdeps/unix/sysv/linux/dl-execstack.c	2004-03-18 16:09:49.200234840 +0100
-@@ -47,11 +47,17 @@
- 		      PROT_READ|PROT_WRITE|PROT_EXEC|PROT_GROWSDOWN) == 0)
- 	goto return_success;
- #  if __ASSUME_PROT_GROWSUPDOWN == 0
--      if (errno == EINVAL)
-+      if (errno == EINVAL) {
- 	no_growsdown = true;
--      else
-+      } else {
-+#  endif
-+	if (errno == EACCES)		/* PAX is enabled */
-+	  return 0;
-+	else
-+	  return errno;
-+#  if __ASSUME_PROT_GROWSUPDOWN == 0
-+      }
- #  endif
+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
+--- glibc-2.3.5.orig/sysdeps/unix/sysv/linux/dl-execstack.c	2005-09-23 13:07:35.000000000 +0200
++++ glibc-2.3.5/sysdeps/unix/sysv/linux/dl-execstack.c	2005-09-23 13:31:45.000000000 +0200
+@@ -60,7 +60,10 @@
+ 	no_growsupdown = true;
+       else
+ # endif
 -	return errno;
++	if (errno == EACCESS) /* PaX */
++	    return 0;
++	else
++	    return errno;
      }
- # endif
+ #endif
  
-@@ -73,8 +79,11 @@
- 	page -= size;
-       else
+@@ -86,7 +89,10 @@
  	{
--	  if (errno != ENOMEM)	/* Unexpected failure mode.  */
-+	  if (errno == EACCES) {	/* PAX is enabled */
-+	    return 0;
-+	  } else if (errno != ENOMEM) {	/* Unexpected failure mode.  */
- 	    return errno;
-+	  }
+ 	  /* Unexpected failure mode.  */
+ 	  if (errno != ENOMEM && errno != EFAULT)
+-	    return errno;
++	    if (errno == EACCESS) /* PaX */
++		return 0;
++	    else
++	    	return errno;
  
- 	  if (size == GL(dl_pagesize))
+ 	  if (size == GLRO(dl_pagesize))
  	    /* We just tried to mprotect the top hole page and failed.
-@@ -105,11 +114,17 @@
- 		      PROT_READ|PROT_WRITE|PROT_EXEC|PROT_GROWSUP) == 0)
- 	goto return_success;
- #  if __ASSUME_PROT_GROWSUPDOWN == 0
--      if (errno == EINVAL)
-+      if (errno == EINVAL) {
- 	no_growsup = true;
--      else
-+      } else {
-+#  endif
-+	if (errno == EACCES)		/* PAX is enabled */
-+	  return 0;
-+	else
-+	  return errno;
-+#  if __ASSUME_PROT_GROWSUPDOWN == 0
-+      }
- #  endif
--	return errno;
-     }
- # endif
- 
-@@ -130,8 +145,11 @@
- 	page += size;
-       else
+@@ -110,7 +116,10 @@
  	{
--	  if (errno != ENOMEM)	/* Unexpected failure mode.  */
-+	  if (errno == EACCES) {	/* PAX is enabled */
-+	    return 0;
-+	  } else if (errno != ENOMEM) {	/* Unexpected failure mode.  */
- 	    return errno;
-+	  }
+ 	  /* Unexpected failure mode.  */
+ 	  if (errno != ENOMEM && errno != EFAULT)
+-	    return errno;
++	    if (errno == EACCESS) /* PaX */
++		return 0;
++	    else
++	    	return errno;
  
- 	  if (size == GL(dl_pagesize))
+ 	  if (size == GLRO(dl_pagesize))
  	    /* We just tried to mprotect the lowest hole page and failed.
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/SOURCES/glibc-pax_dl-execstack.patch?r1=1.1&r2=1.1.4.1&f=u




More information about the pld-cvs-commit mailing list