Received: by 2002:a25:ef43:0:0:0:0:0 with SMTP id w3csp263482ybm; Tue, 26 May 2020 16:20:19 -0700 (PDT) X-Google-Smtp-Source: ABdhPJymW2uE5n2nO68t8vsDoVWYLwMVSFuQq+2fze1fZiOnXK3dMoPq5Eud++zji5LjroEHmGyk X-Received: by 2002:a17:907:b13:: with SMTP id h19mr3078694ejl.488.1590535219350; Tue, 26 May 2020 16:20:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590535219; cv=none; d=google.com; s=arc-20160816; b=sT+fQv5RJ46dksE8FKnkIu4VqCuk80JWinHYtNFjbrmbNlNNLBx1l3nIxksgoISsgl KUG85Q0cKOErWcXAZPuNkncek87S6Ebi7Z65a3xWveRELp4iR//XZu69rH/LhRWH31wL b8mZ/l94nd/qy+/ln7eLQiWXObApOWl3HMUqVk7N2TE52lMgD6+o/ShxhK+mV1dPksmV 2CfAZpYEDO/HtAbh8ssQy656Ox4wRsPQliXwpIoR1PM8/ae1g0Xw34aTF37i/L5opztR yrSd89LNDsgUz5tu4TI45FHdzZk39Kyftm4C6T2gV2nC0Far2QIbX3h3LVZZbY6IO/P3 PJSA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=Wzquy52nOOcZgA7VSZ2IhIgDHOByMv3rKdrzYiMQB2A=; b=BPxg10gzulouxklKQUr/BkJXgSWQx4V+OJ+0476hmwzq3ml0vIjRd1b9mgBY2ArNpg KwNVBZR8/uJy95td+nQfnUERnrZ7IY8BhsKvaPb/pHTS69x6sf7PvkmQxklwlpkzgHVR cx1Gg8uL900OwQuvqbE7x1g30z72LyDna4NtzSA2UQljNq5Zze3HQuAcOz+ag7YxxilV 8SXuLY5R41hlMbE/gHRZIbc4hD07uFw9sL0MU9SvMvxk/Mpp55P+TztH+nSc/02H15RN Jqz5LZoW4ob7E2Uu4uZ/3cDooMFkDJdJVCPm5ybnJ74tZRRhVE0apkV4eJUjjzgYZOd2 0HIA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=b8hfWdsH; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id k8si682418ejg.632.2020.05.26.16.19.56; Tue, 26 May 2020 16:20:19 -0700 (PDT) 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=default header.b=b8hfWdsH; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2390571AbgEZTbM (ORCPT + 99 others); Tue, 26 May 2020 15:31:12 -0400 Received: from mail.kernel.org ([198.145.29.99]:53180 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2389843AbgEZS7X (ORCPT ); Tue, 26 May 2020 14:59:23 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 9CA9C2084C; Tue, 26 May 2020 18:59:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1590519563; bh=6PeqxmiV1MiN/fs54FhFk/6krLO8JfdqfaCb9/lsmHU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=b8hfWdsHXZbiVl7scwZ6ukY6C5cIh6Scf31RzxDy4sUCoXJX909OyefGZx4Z6QQFs n2blSnlOhgV7imGtKLZRiFaZLaPmHF05dLqXoRzHZRO3EdMHAsxTISdfYJwHiWieNV itMbE1oWs9roezEfVlwhivMdxsoCodwxja9fcBfA= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Arnd Bergmann , Andrey Ryabinin , Josh Poimboeuf , Peter Zijlstra , Borislav Petkov , Dmitry Vyukov , Thomas Gleixner , Ingo Molnar , Kees Cook , Matthew Wilcox , Ard Biesheuvel , Andy Shevchenko , Andrew Morton , Linus Torvalds Subject: [PATCH 4.9 53/64] ubsan: build ubsan.c more conservatively Date: Tue, 26 May 2020 20:53:22 +0200 Message-Id: <20200526183930.759269921@linuxfoundation.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200526183913.064413230@linuxfoundation.org> References: <20200526183913.064413230@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Arnd Bergmann commit af700eaed0564d5d3963a7a51cb0843629d7fe3d upstream. objtool points out several conditions that it does not like, depending on the combination with other configuration options and compiler variants: stack protector: lib/ubsan.o: warning: objtool: __ubsan_handle_type_mismatch()+0xbf: call to __stack_chk_fail() with UACCESS enabled lib/ubsan.o: warning: objtool: __ubsan_handle_type_mismatch_v1()+0xbe: call to __stack_chk_fail() with UACCESS enabled stackleak plugin: lib/ubsan.o: warning: objtool: __ubsan_handle_type_mismatch()+0x4a: call to stackleak_track_stack() with UACCESS enabled lib/ubsan.o: warning: objtool: __ubsan_handle_type_mismatch_v1()+0x4a: call to stackleak_track_stack() with UACCESS enabled kasan: lib/ubsan.o: warning: objtool: __ubsan_handle_type_mismatch()+0x25: call to memcpy() with UACCESS enabled lib/ubsan.o: warning: objtool: __ubsan_handle_type_mismatch_v1()+0x25: call to memcpy() with UACCESS enabled The stackleak and kasan options just need to be disabled for this file as we do for other files already. For the stack protector, we already attempt to disable it, but this fails on clang because the check is mixed with the gcc specific -fno-conserve-stack option. According to Andrey Ryabinin, that option is not even needed, dropping it here fixes the stackprotector issue. Link: http://lkml.kernel.org/r/20190722125139.1335385-1-arnd@arndb.de Link: https://lore.kernel.org/lkml/20190617123109.667090-1-arnd@arndb.de/t/ Link: https://lore.kernel.org/lkml/20190722091050.2188664-1-arnd@arndb.de/t/ Fixes: d08965a27e84 ("x86/uaccess, ubsan: Fix UBSAN vs. SMAP") Signed-off-by: Arnd Bergmann Reviewed-by: Andrey Ryabinin Cc: Josh Poimboeuf Cc: Peter Zijlstra Cc: Arnd Bergmann Cc: Borislav Petkov Cc: Dmitry Vyukov Cc: Thomas Gleixner Cc: Ingo Molnar Cc: Kees Cook Cc: Matthew Wilcox Cc: Ard Biesheuvel Cc: Andy Shevchenko Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds Signed-off-by: Greg Kroah-Hartman --- lib/Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) --- a/lib/Makefile +++ b/lib/Makefile @@ -230,6 +230,7 @@ obj-$(CONFIG_UCS2_STRING) += ucs2_string obj-$(CONFIG_UBSAN) += ubsan.o UBSAN_SANITIZE_ubsan.o := n -CFLAGS_ubsan.o := $(call cc-option, -fno-conserve-stack -fno-stack-protector) +KASAN_SANITIZE_ubsan.o := n +CFLAGS_ubsan.o := $(call cc-option, -fno-stack-protector) $(DISABLE_STACKLEAK_PLUGIN) obj-$(CONFIG_SBITMAP) += sbitmap.o