powerpc: Split memset() to avoid multi-field overflow
authorKees Cook <keescook@chromium.org>
Mon, 21 Jun 2021 19:01:01 +0000 (12:01 -0700)
committerKees Cook <keescook@chromium.org>
Sat, 25 Sep 2021 15:20:47 +0000 (08:20 -0700)
commit0e17ad87645cecbea32c8d3d132cdf37532cdefc
tree2cf70feeabe9de71328f650f5ec8d76d101d75c8
parent3d0107a7fee40402f0a3a325604bcbbc47597b5a
powerpc: Split memset() to avoid multi-field overflow

In preparation for FORTIFY_SOURCE performing compile-time and run-time
field bounds checking for memset(), avoid intentionally writing across
neighboring fields.

Instead of writing across a field boundary with memset(), move the call
to just the array, and an explicit zeroing of the prior field.

Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Qinglang Miao <miaoqinglang@huawei.com>
Cc: "Gustavo A. R. Silva" <gustavoars@kernel.org>
Cc: Hulk Robot <hulkci@huawei.com>
Cc: Wang Wensheng <wangwensheng4@huawei.com>
Cc: linuxppc-dev@lists.ozlabs.org
Signed-off-by: Kees Cook <keescook@chromium.org>
Reviewed-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/lkml/87czqsnmw9.fsf@mpe.ellerman.id.au
drivers/macintosh/smu.c