From patchwork Mon Jul 22 09:10:18 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arnd Bergmann X-Patchwork-Id: 169357 Delivered-To: patch@linaro.org Received: by 2002:a92:4782:0:0:0:0:0 with SMTP id e2csp7267442ilk; Mon, 22 Jul 2019 02:11:27 -0700 (PDT) X-Google-Smtp-Source: APXvYqynB2EeBzTIsUjukYBfd+taJ9cWxRnYTFS2Oc8zj2ZJ/bSmpe5L8EPga4EXgQwXnTV5mPU1 X-Received: by 2002:a63:c70d:: with SMTP id n13mr69700818pgg.171.1563786687558; Mon, 22 Jul 2019 02:11:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1563786687; cv=none; d=google.com; s=arc-20160816; b=HNhUdftA/spVEnQ661xj8GUiTyZl+03GUC1TBjEiVM0BoqNGxy3jZHHo1vYuP+VGbr MxyuqXl2fjPkBXlltRsQbceEIq1rbPNph3yBn4uYs/iIKERluUG/eGT1yEk9G2f+2ZnP ZlnBeyacXHszItkvfMNtpqkMPZN69LRRw4b/CfjdO6GX2ouTl/lGrPN3j9ddx9hmoBXN VSOVK9vHWZWdSaAYlfk5tGVMmCClaC9gYvcivztVnxR/eY8fPhWSD1WE8txvD4zyJL2e 8lbaRUIHT3bP+AzfeRTRNT2N6sPcbulmqp6FFUDzlIk8idx/xtCp9c83JvGNvAejHn2D qO0g== 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 :message-id:date:subject:cc:to:from; bh=qTdNYd7RRzSN6g603TztgCetff+EJPbzsjh2FRpWidc=; b=cLi291ILfW0Y2I/tm9Q59LYDul4513DvN0XCH3E3kbGPFG47eejjHpNMqZUBZruM/o pGuQuSN67JXkESJyjZXHLUGqeaesPwro76/diQSVN40DCC/mXijhSwzWlzTj+aWoGz3q 5kqnO9x0/NVma+ymvgbzwnl9f8YDR0jEU3qUsze7JBNk91OZqpNOTT2Kl+klLVC7iN/d lEqs8zrIVlnVNqxmpxox0fzhkhfmXUKonyd0b8kgn4yv+PXH2SlYffAeZ51FCMZWm+7N shL+VWpmkkvgQJ7WeRDKSEWjv3E7bPa4nDGWgixzSBH0h7hvGihMFYOebX1mEuBtzl3G ohSw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of stable-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id e14si2608263pgg.442.2019.07.22.02.11.27; Mon, 22 Jul 2019 02:11:27 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of stable-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of stable-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728170AbfGVJL0 (ORCPT + 14 others); Mon, 22 Jul 2019 05:11:26 -0400 Received: from mout.kundenserver.de ([212.227.126.187]:35353 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727628AbfGVJL0 (ORCPT ); Mon, 22 Jul 2019 05:11:26 -0400 Received: from threadripper.lan ([149.172.19.189]) by mrelayeu.kundenserver.de (mreue009 [212.227.15.129]) with ESMTPA (Nemesis) id 1N3bb1-1iXnOP1GRX-010ghb; Mon, 22 Jul 2019 11:11:02 +0200 From: Arnd Bergmann To: Andrey Ryabinin , akpm@linux-foundation.org Cc: Josh Poimboeuf , Peter Zijlstra , Arnd Bergmann , stable@vger.kernel.org, Sodagudi Prasad , Linus Torvalds , Kees Cook , Andy Shevchenko , "David S. Miller" , linux-kernel@vger.kernel.org, clang-built-linux@googlegroups.com Subject: [PATCH] ubsan: build ubsan.c more conservatively Date: Mon, 22 Jul 2019 11:10:18 +0200 Message-Id: <20190722091050.2188664-1-arnd@arndb.de> X-Mailer: git-send-email 2.20.0 MIME-Version: 1.0 X-Provags-ID: V03:K1:JRfD2+R8cl2MpZ0Zaxxg8tUpm69nNkWykZmnDl1qh32EVPdlKtE feSJZgESNtHDb2ndZGxg9yLvPE3xOaO/zQ6RIFEl59plmT0MYDgVWRxeD2ia6fgtqKP96pZ c3a9q9oTdIKkeVckRiZ85phK58GVGTCqUxQ19o6DYjM6emumoqVfTCEpJNZU8I9HbMLNK0j SG7WTRjuVhHqmFl1VMLLg== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1; V03:K0:iYdJrXJ7yi8=:+VQeBL+nIZ99R9qas4XCAf JVehlIWqUOXYHMbMds8Lk6aF1ARdIDjQRiz3IgnzlLpuyx6Lh8BwzXxwpVLRJkDISxElGyZqZ tCo4+uvUoJqrT7IezXOLCMDX+pYKj62Qu04HNg2bhhf+zcxE8ZbRBgWq6Qqu4k3e3vqxF5Tpg dJ0jcz4AUzqn3e4PpHGxqRnFfGyfmkXqMjbLF6pjGIWYjdd2L/hY04IM4gtlNdY881Q9ztYV0 hvublVP6vIuStwuNKsid45s1GhqknIakTpgAl7ralnEoX7nIJFRCW3A8nmHpR4kpGb4vKORd7 FddKLU5zEzib5E80VV5NvXSuZozdLxoATZ9lZajNj8RjrahzoKiX0/0n7N4fiEXNyECqTUkdn qLkHOsI6THRAhD3Ga8ksZQRfFkezZHHzpp31COWftnXj8AZLodKh7K5ZvQCWMlBVofclfhHiR ndHO12eg6A9ChqN/1xqhj2DiquLQOLPB9sVdAGYHSNYXVrUiINY2XRg7pLk52KMdtQn+MFa/o XU9vI7AfHQWK1MzqlFT1d41nVRvp7+5vAQ4KZcgqL952lCzbyiF/sdNcOJteN9NnCFVQ5DD/e 83Mp+jdKnCj116HLHJak0Ed1tFSNlvJow5hw2Qu0Biyv3kLNIFQo7THz8c2OfzOzke92odu8Q eH2b37g4p1ih79+wLl3nNSVZtguQ371lSgzu8LMjnwra8iPTrs3mHzecal76nXpt0q8YkKqK8 RHQHOpj8iiipJxOTicd3LWlcOsbIY90Wj4/GwQ== Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org 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, so we need to test them separately. Fixes: 42440c1f9911 ("lib/ubsan: add type mismatch handler for new GCC/Clang") Link: https://lore.kernel.org/lkml/20190617123109.667090-1-arnd@arndb.de/t/ Cc: stable@vger.kernel.org Signed-off-by: Arnd Bergmann --- lib/Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) -- 2.20.0 diff --git a/lib/Makefile b/lib/Makefile index 095601ce371d..320e3b632dd3 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -279,7 +279,8 @@ obj-$(CONFIG_UCS2_STRING) += ucs2_string.o 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-conserve-stack) $(call cc-option, -fno-stack-protector) $(DISABLE_STACKLEAK_PLUGIN) obj-$(CONFIG_SBITMAP) += sbitmap.o