Re: OS stopping stack buffer overflow exploits

From: Peter T. Breuer (ptb@it.uc3m.es)
Date: Sun Jun 04 2000 - 09:21:47 EST


"A month of sundays ago yoann@mandrakesoft.com wrote:"
> "Peter T. Breuer" <ptb@it.uc3m.es> writes:
> > And I have no idea why they should want to: nesting is purely a
> > question of namespaces and syntactic scoping. It should impact
> > the implementation semantics not at all.
>
> GCC use lexical scoping for nested function, lexical scoping use
> trampolines... so it will break...

This is goobledegook. Lexical scoping is precisely what I was referring
to by "a question of namespaces and syntactic scoping". It's a parsing
detail, or a compiler detail, _not_ an implementation strategy. There
is no more need to invoke a special implementation strategy for nested
functions than there is to invoke one for nested blocks.

> [snip]
> GNU CC implements taking the address of a nested function using a
> technique called "trampolines". A paper describing them is available
> as `http://master.debian.org/~karlheg/Usenix88-lexic.pdf'
> [snip]

Thanks. Looked at it once, and it was incomprehensible then. Glad
to say I've forgotten it entirely since. Do they have an ascii version?

Interestingly, I get a 404 from the address you give above. The
homepage surrounding it says:

 Usenix-88-lexic.pdf is the paper about the nested functions feature of
 gcc that is referenced by the gcc TeXinfo documentation. I followed
 the ftp URL that used to be in there, and the paper was no longer on
 that server, so I asked around on USENET, and got a reply from a person
 who had a copy in .pdf format. Here it is so that others may read it.
 I hope that someday I will understand this paper better than I do now.

Which approximately corresponds to my remembered impression of it as
a load of confused and confusing misfires! What's all the fuss about?
Nesting functions is a syntactic problem, not an implementation
problem.

Peter

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Wed Jun 07 2000 - 21:00:18 EST