Re: Kernel 3.18.55 compilation fails (missing function declaration)

From: Randy Dunlap
Date: Thu Jun 08 2017 - 18:11:00 EST


On 06/02/17 06:30, Emmanuel Florac wrote:
> Hi, kernel 3.18.55 compilation fails with this error:
>
> kernel/fork.c: In function âdup_task_structâ:
> kernel/fork.c:341:2: error: implicit declaration of function
> âget_random_longâ [-Werror=implicit-function-declaration]
> tsk->stack_canary = get_random_long();
>
> Corrected by adding the declaration to include/linux/random.h line 26 :
>
> unsigned long get_random_long(void);
>
> Sorry, I really can't understand how to generate a patch from a tagged
> release, my git-fu is far too low...
>

Should be fixed in 3.18.56 by this commit:


commit 2bc281ebacf969770597fad415547016f0457b53
Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Date: Sat May 27 12:09:37 2017 +0200

Revert "stackprotector: Increase the per-task stack canary's random range from 32 bits to 64 bits on 64-bit platforms"

This reverts commit 609a3e81550b0b4ea87197b0f59455a7bcff975a which is
commit 5ea30e4e58040cfd6434c2f33dc3ea76e2c15b05 upstream.

It shouldn't have been backported to 3.18, as we do not have
get_random_long() in that kernel tree.


--
~Randy