kernel: really inline canary randomize code to top level caller

When kernel changes canary to randomize it for stack protection, kernel
has to change it from top level of call stack as ret to upper call stack
will be caught and considered as stack smashing due to changed canary.

Since gcc doesn't guarantee inline specifier declared function always to be
inlined, changing canary with function isn't good idea.
Randomizes the canary without function from kmain().  This is safe since
kmain() never returns.

Change-Id: I727b452d7f1179c6aae0845a11f5c9ce236cc473
1 file changed