sh: machvec: Use char[] for section boundaries
authorKees Cook <keescook@chromium.org>
Wed, 7 Sep 2022 23:40:44 +0000 (16:40 -0700)
committerKees Cook <keescook@chromium.org>
Tue, 13 Sep 2022 17:33:17 +0000 (10:33 -0700)
commitc5783af354688b24abd359f7086c282ec74de993
tree35b535230e5cf565b09ea6b23bda7c7312fbbdc5
parent66cb2a36a96f6facbcb4ef1db967b8e9ea6910fe
sh: machvec: Use char[] for section boundaries

As done for other sections, define the extern as a character array,
which relaxes many of the compiler-time object size checks, which would
otherwise assume it's a single long. Solves the following build error:

arch/sh/kernel/machvec.c: error: array subscript 'struct sh_machine_vector[0]' is partly outside array bounds of 'long int[1]' [-Werror=array-bounds]:  => 105:33

Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
Cc: Rich Felker <dalias@libc.org>
Cc: linux-sh@vger.kernel.org
Reported-by: Geert Uytterhoeven <geert@linux-m68k.org>
Link: https://lore.kernel.org/lkml/alpine.DEB.2.22.394.2209050944290.964530@ramsan.of.borg/
Fixes: 9655ad03af2d ("sh: Fixup machvec support.")
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Acked-by: Rich Felker <dalias@libc.org>
Signed-off-by: Kees Cook <keescook@chromium.org>
arch/sh/include/asm/sections.h
arch/sh/kernel/machvec.c