Gentoo Archives: gentoo-hardened

From: Richard Hansen <gentoo-a7x@×××××××××××.org>
To: gentoo-hardened@l.g.o
Subject: RE: [gentoo-hardened] SSP + setjmp() = badness?
Date: Sun, 30 Jul 2006 14:04:36
Message-Id: 003b01c6b3e0$ce423710$0201a8c0@reno
In Reply to: Re: [gentoo-hardened] SSP + setjmp() = badness? by "Kevin F. Quinn"
1 Kevin F. Quinn <mailto:kevquinn@g.o> wrote:
2 > On Sat, 29 Jul 2006 17:37:03 -0400
3 > "Richard Hansen" <gentoo-a7x@×××××××××××.org> wrote:
4 >> After spending hours with gdb, I believe I have narrowed down the
5 >> problem to a setjmp() call in the Wireshark code. That call seems to
6 >> be trashing the stack, based on comparing local variable values
7 >> before and after the call. Is this a known limitation of SSP, or
8 >> should setjmp() work with SSP?
9 >
10 > Well, the setjmp() connection is new, but we do know that SSP in
11 > gcc-3.x sometimes generates bad code, and that sometimes gcc-3.x
12 > generates bad code regardless of SSP (where enabling SSP just causes
13 > the error to be detected -see bug #133301 for an example). However we
14 > haven't yet worked out what's going on. It would be worth building
15 > Wireshark with SSP off and running gdb in the same way you did before,
16 > breaking at the same place, to see if the same local variables are
17 > corrupted or not when SSP is disabled.
18
19 According to my gdb tests, the stack is not corrupted when SSP is disabled.
20
21 I'm not sure how SSP alters the layout of the stack, but considering setjmp() and longjmp() are written in assembly, it makes sense that they would trash the stack when SSP is turned on. However, I would expect the SSP patch to include updated versions of setjmp() and longjmp() to accommodate the changes to the stack... Is this not the case?
22
23 Is there an official web page or mailing list for the SSP patch?
24
25 Thanks,
26 Richard
27
28
29 --
30 gentoo-hardened@g.o mailing list

Replies

Subject Author
Re: [gentoo-hardened] SSP + setjmp() = badness? "Kevin F. Quinn" <kevquinn@g.o>