Messages in this thread |  | | | Date | Wed, 9 Jul 2008 22:07:57 +0200 | | From | Ingo Molnar <> | | Subject | Re: [RFC 00/15] x86_64: Optimize percpu accesses |
| |
* Eric W. Biederman <ebiederm@xmission.com> wrote:
> I just took a quick look at how stack_protector works on x86_64. > Unless there is some deep kernel magic that changes the segment > register to %gs from the ABI specified %fs CC_STACKPROTECTOR is > totally broken on x86_64. We access our pda through %gs. > > Further -fstack-protector-all only seems to detect against buffer > overflows and thus corruption of the stack. Not stack overflows. So > it doesn't appear especially useful.
CC_STACKPROTECTOR, as fixed in -tip, can catch the splice exploit, and there's no known breakage in it.
Deep stack recursion itself is not really interesting. (as that cannot arbitrarily be triggered by attackers in most cases) Random overflows of buffers on the stackframe is a lot more common, and that's what stackprotector protects against.
( Note that deep stack recursion can be caught via another debug mechanism, ftrace's mcount approach. )
> So we don't we kill the broken CONFIG_CC_STACKPROTECTOR. Stop trying > to figure out how to use a zero based percpu area.
Note that the zero-based percpu problems are completely unrelated to stackprotector. I was able to hit them with a stackprotector-disabled gcc-4.2.3 environment.
Ingo
|  |