Re: [PATCH] powerpc/signal32: Use struct_group() to zero spe regs

From: Kees Cook
Date: Mon Nov 22 2021 - 15:47:34 EST


On Mon, Nov 22, 2021 at 04:43:36PM +1100, Michael Ellerman wrote:
> LEROY Christophe <christophe.leroy@xxxxxxxxxx> writes:
> > Le 18/11/2021 à 21:36, Kees Cook a écrit :
> >> In preparation for FORTIFY_SOURCE performing compile-time and run-time
> >> field bounds checking for memset(), avoid intentionally writing across
> >> neighboring fields.
> >>
> >> Add a struct_group() for the spe registers so that memset() can correctly reason
> >> about the size:
> >>
> >> In function 'fortify_memset_chk',
> >> inlined from 'restore_user_regs.part.0' at arch/powerpc/kernel/signal_32.c:539:3:
> >> >> include/linux/fortify-string.h:195:4: error: call to '__write_overflow_field' declared with attribute warning: detected write beyond size of field (1st parameter); maybe use struct_group()? [-Werror=attribute-warning]
> >> 195 | __write_overflow_field();
> >> | ^~~~~~~~~~~~~~~~~~~~~~~~
> >>
> >> Reported-by: kernel test robot <lkp@xxxxxxxxx>
> >> Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx>
> >
> > Reviewed-by: Christophe Leroy <christophe.leroy@xxxxxxxxxx>
>
> Acked-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>

Thanks! Should I take this via my tree, or do you want to take it via
ppc?

-Kees

--
Kees Cook