randomized stack protector value

Roland McGrath roland@redhat.com
Thu Oct 2 00:23:00 GMT 2008


> The right solution is that the kernel provides a couple of random words
> in the auxiliary vectors.  Some kernel folks know about this for quite some
> time, but it hasn't been added yet.  If kernel provides it, upstream
> glibc will most definitely use it.

Sounds easy enough.  How many?  Do you want:

	{AT_RANDOM1, x}
	{AT_RANDOM2, y}

giving 8 bytes on 32-bit and 16 on 64-bit?

Or perhaps:

	{AT_RANDOM, a}
	{AT_RANDOM_SIZE, p}

where a is the address (on the initial stack near auxv) of p random bytes?
Then what should p be in the initial implementation?


Thanks,
Roland



More information about the Libc-alpha mailing list