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

From: Kees Cook
Date: Wed Dec 01 2021 - 13:55:22 EST


On Wed, Nov 24, 2021 at 11:08:25AM +1100, Michael Ellerman wrote:
> Kees Cook <keescook@xxxxxxxxxxxx> writes:
> > 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?
>
> I don't mind. If it's easier for you to take it as part of an existing
> series then do that, otherwise I can pick it up.

Most of the other patches are going via other maintainers, so I'd love
it if ppc could snag this one too. :)

Thanks!

-Kees

--
Kees Cook