Re: how to determine if the noexec stack is defined by an application

From: Andreas Schwab
Date: Fri Jun 29 2007 - 18:15:53 EST


Arjan van de Ven <arjan@xxxxxxxxxxxxx> writes:

> like this:
>
> $ eu-readelf -l /bin/true | grep STACK
> GNU_STACK 0x000000 0x00000000 0x00000000 0x000000 0x000000 RW 0x4
>
>
> (replace /bin/true with the binary or library you want to check)
>
> if it says "RW" like here, it'll have non-executable stack. If it says
> "RWX" or if this line is absent entirely, the stack will be executable.

The last part is not true. Some architectures (especially newer ones)
default to non-exec stack. The absense of a GNU_STACK header represents
the default.

Andreas.

--
Andreas Schwab, SuSE Labs, schwab@xxxxxxx
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/