# HG changeset patch # User Andrew John Hughes # Date 1437159795 -3600 # Node ID 8251173ab7e3546aeb881199388099a8f6a9d118 # Parent ce634deafc12ea7959b8e737411878625d6a0ca1 PR2507, G541462: Only apply PaX markings by default on running PaX kernels 2015-07-13 Andrew John Hughes PR2507, G541462: Only apply PaX markings by default on running PaX kernels * NEWS: Updated. * acinclude.m4: (IT_HAS_PAX): Use grep directly rather than piping from cat. (IT_WITH_PAX): Use ${pax_active} as the default value. Handle --with-pax and --without-pax options (i.e. without arguments) better. diff -r ce634deafc12 -r 8251173ab7e3 ChangeLog --- a/ChangeLog Fri Jul 17 20:01:27 2015 +0100 +++ b/ChangeLog Fri Jul 17 20:03:15 2015 +0100 @@ -1,3 +1,16 @@ +2015-07-13 Andrew John Hughes + + PR2507, G541462: Only apply PaX markings by default + on running PaX kernels + * NEWS: Updated. + * acinclude.m4: + (IT_HAS_PAX): Use grep directly rather + than piping from cat. + (IT_WITH_PAX): Use ${pax_active} as the + default value. Handle --with-pax and + --without-pax options (i.e. without arguments) + better. + 2015-07-13 Andrew John Hughes PR2500: Add executable stack markings diff -r ce634deafc12 -r 8251173ab7e3 NEWS --- a/NEWS Fri Jul 17 20:01:27 2015 +0100 +++ b/NEWS Fri Jul 17 20:03:15 2015 +0100 @@ -32,6 +32,7 @@ - PR2390: Make elliptic curve removal optional - PR2395: Path to jvm.cfg is wrong in add-systemtap-boot - PR2499: Update remove-intree-libraries.sh script + - PR2507, G541462: Only apply PaX markings by default on running PaX kernels * CACAO - PR2380: Raise javadoc and JAVAC_FLAGS memory limits for CACAO * JamVM diff -r ce634deafc12 -r 8251173ab7e3 acinclude.m4 --- a/acinclude.m4 Fri Jul 17 20:01:27 2015 +0100 +++ b/acinclude.m4 Fri Jul 17 20:03:15 2015 +0100 @@ -2337,7 +2337,7 @@ AC_DEFUN_ONCE([IT_HAS_PAX], [ AC_MSG_CHECKING([if a PaX kernel is in use]) - if cat /proc/self/status | grep '^PaX' >&AS_MESSAGE_LOG_FD 2>&1; then + if grep '^PaX' /proc/self/status >&AS_MESSAGE_LOG_FD 2>&1; then pax_active=yes; else pax_active=no; @@ -2354,41 +2354,44 @@ AC_ARG_WITH([pax], [AS_HELP_STRING(--with-pax=COMMAND,the command used for pax marking)], [ - if test "x${withval}" = "xyes"; then - PAX_COMMAND=no - else - PAX_COMMAND="${withval}" - fi + PAX_COMMAND="${withval}" ], [ - PAX_COMMAND=no + PAX_COMMAND=${pax_active} ]) - AC_MSG_RESULT(${PAX_COMMAND}) - if test "x${PAX_COMMAND}" == "xno"; then + if test "x${PAX_COMMAND}" == "xyes"; then + AC_MSG_RESULT([no]) PAX_COMMAND=${PAX_DEFAULT} + AC_MSG_NOTICE([PaX enabled but no tool specified; using ${PAX_DEFAULT}]) + else + AC_MSG_RESULT(${PAX_COMMAND}) fi - AC_MSG_CHECKING([if $PAX_COMMAND is a valid executable file]) - if test -x "${PAX_COMMAND}" && test -f "${PAX_COMMAND}"; then - AC_MSG_RESULT([yes]) + if test "x${PAX_COMMAND}" != "xno"; then + AC_MSG_CHECKING([if $PAX_COMMAND is a valid executable file]) + if test -x "${PAX_COMMAND}" && test -f "${PAX_COMMAND}"; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + PAX_COMMAND="" + AC_PATH_PROG(PAX_COMMAND, "paxmark.sh") + if test -z "${PAX_COMMAND}"; then + AC_PATH_PROG(PAX_COMMAND, "paxctl-ng") + fi + if test -z "${PAX_COMMAND}"; then + AC_PATH_PROG(PAX_COMMAND, "chpax") + fi + if test -z "${PAX_COMMAND}"; then + AC_PATH_PROG(PAX_COMMAND, "paxctl") + fi + fi else - AC_MSG_RESULT([no]) PAX_COMMAND="" - AC_PATH_PROG(PAX_COMMAND, "paxmark.sh") - if test -z "${PAX_COMMAND}"; then - AC_PATH_PROG(PAX_COMMAND, "paxctl-ng") - fi - if test -z "${PAX_COMMAND}"; then - AC_PATH_PROG(PAX_COMMAND, "chpax") - fi - if test -z "${PAX_COMMAND}"; then - AC_PATH_PROG(PAX_COMMAND, "paxctl") - fi - if test -z "${PAX_COMMAND}"; then - if test "x${pax_active}" = "xyes"; then - AC_MSG_ERROR("No PaX utility found and running on a PaX kernel.") - else - AC_MSG_WARN("No PaX utility found.") - fi + fi + if test -z "${PAX_COMMAND}"; then + if test "x${pax_active}" = "xyes"; then + AC_MSG_ERROR("No PaX utility found and running on a PaX kernel.") + else + AC_MSG_WARN("No PaX utility found.") fi fi if test -n "${PAX_COMMAND}"; then