Received: by 2002:a25:ef43:0:0:0:0:0 with SMTP id w3csp161364ybm; Tue, 26 May 2020 13:22:12 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzkGJhKQgwoVYVmUDywRkcjebYrgrUXVCtqcTEaR3O+/aV3bR/hw2/MSlUo7tL6R2w77y+M X-Received: by 2002:a50:99de:: with SMTP id n30mr21326776edb.248.1590524531880; Tue, 26 May 2020 13:22:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590524531; cv=none; d=google.com; s=arc-20160816; b=lac46X+rZqzPIWBmP74qZ+76eJcXfIGUqBJsKWMf0m9AhB4gNmfEDqM7kdXpUMFN8I Vpd7zSXCSiyvixfF/fjBMFmuFuC3kXB3n8H2+/lGB4wg4XhL34N5avmayMsIDMQZtC/N ++1nFT+fpKF77ZydE9biS1F42P7hpJXaayM413+ilfdv4eKXCpkyQ0TF9OYL2jvK2DDa o7UNeZcTCz+fK7kcqyTdfvxAlnTi3xT2k+bzw04saKChc/IkvJZRlRvVtSJCiSk5a2bM zm2ffuS3m4Ad4JEjsFTLyhRg6FrKfkU1EUjCn7YvfXei/Z7w+K5dxWNhTcPzJV68QxT7 6AFg== 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=fk/XJhRfv7Y+qTczB4RSV5MvKNMFu0xWK5NZtLV0D2s=; b=g1oB90/8Z+AEUPeYnRf9sWABxtW89ScFQtzH6817jjNm5ci0LoYgqsMogsz2NyNy3q CPWqLn1KVI7Lpm6R3aF8ztpO8XDsW/a0Invl6u1UfkWRbh8NtGq3CnWMSOi3nZfYy9Mz C0oHVWU91MK7OHbAjlxulEg6rkGx4rU+zv4sE/6qB/+8Q+lIslrLGlrWlyMVoZ00beE1 Sq0DRFcbOpOr0R4dJ+ahLbsGgp1Lf4RKoCYrteBfdXTeSgvGJXydU4yJTidSRcaHGEOB tc44t016i80j+hJ5YIMhGI2tz8jrkTzLqOPwvWCuIoZ3SyPKuhxUw6OOFUkeX88WyDS2 UJWg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=AWFwlDUW; 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 f13si512025ejh.360.2020.05.26.13.21.48; Tue, 26 May 2020 13:22:11 -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=AWFwlDUW; 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 S2403805AbgEZTBv (ORCPT + 99 others); Tue, 26 May 2020 15:01:51 -0400 Received: from mail.kernel.org ([198.145.29.99]:56170 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2403797AbgEZTBm (ORCPT ); Tue, 26 May 2020 15:01:42 -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 34E5C2084C; Tue, 26 May 2020 19:01:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1590519701; bh=exwDoKqglk05Dqmr7hl1WwibewZcm/lnYHdAHOBm8xw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=AWFwlDUWDAUUX1JoPenvUzgGn/IHz9npMQlfzfaNgChkYRFAAPPUdAuMLWpidcNT0 auReHGYDP1rvb8WH0syv4lO0Ovdr72ZMeK3RJu9nzuJktK6e0YrzqbLs0OT5HiN9kn dQLLLFYTCM3ivfyxZcnZJ9VCRghjNkfGB04l9Q8w= 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.14 43/59] ubsan: build ubsan.c more conservatively Date: Tue, 26 May 2020 20:53:28 +0200 Message-Id: <20200526183921.075930036@linuxfoundation.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200526183907.123822792@linuxfoundation.org> References: <20200526183907.123822792@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 @@ -256,7 +256,8 @@ 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