Re: [tip: sched/urgent] sched: Fix RANDSTRUCT build fail

From: Kees Cook
Date: Fri Jun 19 2020 - 23:14:07 EST


On Wed, Jun 10, 2020 at 10:34:16AM -0000, tip-bot2 for Peter Zijlstra wrote:
> The following commit has been merged into the sched/urgent branch of tip:
>
> Commit-ID: bfb9fbe0f7e70ec5c8e51ee55b6968d4dff14456
> Gitweb: https://git.kernel.org/tip/bfb9fbe0f7e70ec5c8e51ee55b6968d4dff14456
> Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
> AuthorDate: Wed, 10 Jun 2020 12:14:09 +02:00
> Committer: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
> CommitterDate: Wed, 10 Jun 2020 12:30:19 +02:00
>
> sched: Fix RANDSTRUCT build fail
>
> As a temporary build fix, the proper cleanup needs more work.
>
> Reported-by: Guenter Roeck <linux@xxxxxxxxxxxx>
> Reported-by: Eric Biggers <ebiggers@xxxxxxxxxx>
> Suggested-by: Eric Biggers <ebiggers@xxxxxxxxxx>
> Suggested-by: Kees Cook <keescook@xxxxxxxxxxxx>
> Fixes: a148866489fb ("sched: Replace rq::wake_list")
> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>

Hi, can this please get sent to Linus before -rc2? With a148866489fb in
-rc1, all the CI with the GCC plugins installed have been failing their
all*config builds. This entered -next 9 days ago (and fixed the -next
builds), but Linus's tree is still failing:

https://kernelci.org/build/mainline/branch/master/kernel/v5.8-rc1-226-g4333a9b0b67b/
...
https://kernelci.org/build/mainline/branch/master/kernel/v5.8-rc1/

Thanks!

-Kees

> ---
> include/linux/sched.h | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/include/linux/sched.h b/include/linux/sched.h
> index 57a5ce9..59caeb9 100644
> --- a/include/linux/sched.h
> +++ b/include/linux/sched.h
> @@ -653,8 +653,10 @@ struct task_struct {
> unsigned int ptrace;
>
> #ifdef CONFIG_SMP
> - struct llist_node wake_entry;
> - unsigned int wake_entry_type;
> + struct {
> + struct llist_node wake_entry;
> + unsigned int wake_entry_type;
> + };
> int on_cpu;
> #ifdef CONFIG_THREAD_INFO_IN_TASK
> /* Current CPU: */

--
Kees Cook