Received: by 2002:a05:6a10:2785:0:0:0:0 with SMTP id ia5csp16171pxb; Tue, 12 Jan 2021 18:34:40 -0800 (PST) X-Google-Smtp-Source: ABdhPJxLkjDlQbp2ocu/OQOmFhNMiKvESJ0HQ6KCA+X4MHzuTxaIvVo9C12GFzWJbJ1oGlS/qvQz X-Received: by 2002:a17:907:94c8:: with SMTP id dn8mr1278610ejc.512.1610505279875; Tue, 12 Jan 2021 18:34:39 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1610505279; cv=none; d=google.com; s=arc-20160816; b=wsSjEqTTopAn664SPNFVg9pa+Wgf8k3kRY0DdIjLfdaSs3402NH+J9CtFQXW21pJLa shkObXKI2pBzhwUQ5ishd+xhStYhJreFBvbHYSOCrCFC2/YhqSGiOGRSwr2RHJBDXNzH Ml98wQ0+3kIoY0ZYEoQTK5+THuHHpVhzKW0edDGnx7JFbPZzTiPDaPeGHwPxfPrkSXlY /xKc+mwmCA/Fa7kKi8zAhe5nB3RqJ6ZGL+s+yGHdXs1+U61rLmuUlBm5FvWAEssS35v7 vuq3ozy6ns2mSGYI3QFCUelWdG0eWW6vpSE7erMxUqsVBqmzDaWFieIRdFlAU3k8GkgK Wc1Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=nJHVxh98z/61u+uZajNLAsyeT5oeYFoC6irn1KOB2DI=; b=iQWj9CL/YcaNi/TGBJlGv3C7XaLGwDgkDO263E0vz9+xpR1/igMGhlVLrr1ZTXF8fd 3Z34grpT7rCPldb1Bl/5S2IOJgqAuumP6VBb5MzcG8BSzdqn6zapP5V71tHxc6ty0ov1 fd63/oEWSjT2pJ4dYJZcfP934kaxj0aGzDQP9DyHQpoK3MA2DVv3oG+VIWOlU4Cn0xl5 GLiZ+faKCOrLqQW+b/tZBvLS5tDP0uCiHoJC9zPif4+Ig1N/xJVTCJtZmq/qfaQExf+d exYhzzoTVnyuBa5m+NzQ3YxbA1OCxg4t/kRI2gl4F9r4BkTLvtBgRkWDfzJFt1Fkg0QX qZfg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=uuYnMGWD; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id l61si306712ede.106.2021.01.12.18.34.16; Tue, 12 Jan 2021 18:34:39 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=uuYnMGWD; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2437552AbhALVea (ORCPT + 99 others); Tue, 12 Jan 2021 16:34:30 -0500 Received: from mail.kernel.org ([198.145.29.99]:35722 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2436944AbhALUaH (ORCPT ); Tue, 12 Jan 2021 15:30:07 -0500 Received: by mail.kernel.org (Postfix) with ESMTPSA id BEF462311F; Tue, 12 Jan 2021 20:29:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1610483366; bh=MGuTtXoLe99kX/sbH8vTCXKT8YVod7BidDBwx8FWAUg=; h=From:To:Cc:Subject:Date:From; b=uuYnMGWDZ1PxZ2i52hZuv+LpFhlIwJ7VB4bTeoJTiZ/GB/7IGlKgh71HM5l6SqDXP +V5EQsP6mH0dX++5wjSmh8Ku36E2a7Y+VHXrvCGaD5Ir66On6g1lSZOazhwW8B5E0j obZ1cZRIdUFLfjAIa0LIiCwUNd7xFwhS+ZeSmX4ilpOneLpVtheKks7RTdbPHW6p9e zag8ceTis3kieR8wgUfV1ekAC3IONGSmKGtKwuqI0762Q5D94edpYQhdiQm68zsYsP qyb9AQu5M4spNKWApdaoLv0mjG56fK7/uSK6cV2Q9PveykMLB4MczgcwEqQQq9TTjL Dzcww37qE0YNw== From: Arnd Bergmann To: Nathan Chancellor , Nick Desaulniers , Kees Cook , Stephen Rothwell , Andrew Morton Cc: Arnd Bergmann , Marco Elver , George Popescu , linux-kernel@vger.kernel.org, clang-built-linux@googlegroups.com Subject: [PATCH] [v2] ubsan: disable unsigned-overflow check for i386 Date: Tue, 12 Jan 2021 21:29:15 +0100 Message-Id: <20210112202922.2454435-1-arnd@kernel.org> X-Mailer: git-send-email 2.29.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: 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. Fixes: d0a3ac549f38 ("ubsan: enable for all*config builds") Link: https://lore.kernel.org/lkml/20201230154749.746641-1-arnd@kernel.org/ Signed-off-by: Arnd Bergmann --- v2: only turn it off for i386 as discussed --- lib/Kconfig.ubsan | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/Kconfig.ubsan b/lib/Kconfig.ubsan index 8b635fd75fe4..3a0b1c930733 100644 --- a/lib/Kconfig.ubsan +++ b/lib/Kconfig.ubsan @@ -123,6 +123,7 @@ config UBSAN_SIGNED_OVERFLOW config UBSAN_UNSIGNED_OVERFLOW bool "Perform checking for unsigned arithmetic overflow" depends on $(cc-option,-fsanitize=unsigned-integer-overflow) + depends on !X86_32 # avoid excessive stack usage on x86-32/clang help This option enables -fsanitize=unsigned-integer-overflow which checks for overflow of any arithmetic operations with unsigned integers. This -- 2.29.2