• A
    ubsan: disable unsigned-overflow check for i386 · 251b5497
    Arnd Bergmann 提交于
    Building ubsan kernels even for compile-testing introduced these
    warnings in my randconfig environment:
    
      crypto/blake2b_generic.c:98:13: error: stack frame size of 9636 bytes in function 'blake2b_compress' [-Werror,-Wframe-larger-than=]
      static void blake2b_compress(struct blake2b_state *S,
    
      crypto/sha512_generic.c:151:13: error: stack frame size of 1292 bytes in function 'sha512_generic_block_fn' [-Werror,-Wframe-larger-than=]
      static void sha512_generic_block_fn(struct sha512_state *sst, u8 const *src,
    
      lib/crypto/curve25519-fiat32.c:312:22: error: stack frame size of 2180 bytes in function 'fe_mul_impl' [-Werror,-Wframe-larger-than=]
      static noinline void fe_mul_impl(u32 out[10], const u32 in1[10], const u32 in2[10])
    
      lib/crypto/curve25519-fiat32.c:444:22: error: stack frame size of 1588 bytes in function 'fe_sqr_impl' [-Werror,-Wframe-larger-than=]
      static noinline void fe_sqr_impl(u32 out[10], const u32 in1[10])
    
    Further testing showed that this is caused by
    -fsanitize=unsigned-integer-overflow, but is isolated to the 32-bit x86
    architecture.
    
    The one in blake2b immediately overflows the 8KB stack area
    architectures, so better ensure this never happens by disabling the
    option for 32-bit x86.
    
    Link: https://lkml.kernel.org/r/20210112202922.2454435-1-arnd@kernel.org
    Link: https://lore.kernel.org/lkml/20201230154749.746641-1-arnd@kernel.org/
    Fixes: d0a3ac54 ("ubsan: enable for all*config builds")
    Signed-off-by: NArnd Bergmann <arnd@arndb.de>
    Acked-by: NKees Cook <keescook@chromium.org>
    Reviewed-by: NNathan Chancellor <natechancellor@gmail.com>
    Cc: Nick Desaulniers <ndesaulniers@google.com>
    Cc: Stephen Rothwell <sfr@canb.auug.org.au>
    Cc: Marco Elver <elver@google.com>
    Cc: George Popescu <georgepope@android.com>
    Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
    251b5497
Kconfig.ubsan 7.0 KB