On Wed, Jan 04, 2017 at 09:23:47AM +0100, Christophe LEROY wrote: > >The way gcc implements the stack protector has some serious > >incompatibilities with the way the Linux kernel uses r13, I wouldn't > >even try until we sort that out... > > Yes indeed, it looks like recent versions of GCC don't use anymore the > global __stack_chk_guard variable but a hard coded offset relative to r2 > or r13: > > On 32 bits, it uses -7008(r2) > On 64 bits, it uses -7010(r13)
This is https://gcc.gnu.org/PR78875 . It should have been this way since forever; if it really wasn't, it is unclear why not. Either way, we (i.e. GCC) will add some compiler option to make this work for the kernel. It will be part of 7 and we'll probably backport it to 6.4 and 5.5 . For bootx_init.c, this probably should be compiled with -fno-stack-protector just like all the other boot time stuff. Segher