RFC: Shadow Stack support in glibc

Paul Eggert eggert@cs.ucla.edu
Tue Jun 6 06:38:00 GMT 2017


H.J. Lu wrote:

> #if SHADOW STACK is enabled

It's a compile-time option? (Somehow I expected runtime.)

Does the compiler need to generate special code for it? Can some modules be 
compiled with it, and some without? How does that work in the presence of setjmp?

> makecontext, getcontext and setcontext are used in libgo.

The libgo developers might be a good source for advice here.

Come to think of it, surely these functions can all be implemented via a 
syscall, which could check its arguments at least as well as the hardware checks 
ordinary call and return. (Just thinking out loud, admittedly.)



More information about the Libc-alpha mailing list