Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp1447822ybl; Fri, 31 Jan 2020 22:26:21 -0800 (PST) X-Google-Smtp-Source: APXvYqyPB7emfnUJJ5KWhyMXspllVm/2BfRRBFd0eWnrqm0+0CdLCRnCnF0V/9nOL/BpeJvqn6If X-Received: by 2002:a05:6830:1149:: with SMTP id x9mr10643223otq.156.1580538381378; Fri, 31 Jan 2020 22:26:21 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1580538381; cv=none; d=google.com; s=arc-20160816; b=DoO6IP7FaebWsTRlOm7dCHvuerE5jgqIM8bH18wlKX2Xyu912MPnwuvMA/4c6WGkWu vegGnsJG3iptl6QOL/k8HNtXgDntKfxdW79PNZ3VgiHYz+BYKLvXEZFxvIZlp64S7V8z nRkZeBLO9SWXIStsmTsPpx0kMUxX3aQvaCty0ma4boYtkvAnUJAwrte4j0wdv4nJurW/ pXXtgQ+B5YqvtCYkloVEZBEBBQ2N/JANbz4jrHMOFwO26gJinm37C1GLf+QB5Kve6rZm Njsh6hNfmbHXuD4n+zcz1+x11qKQ7vTD0fzwgFfwydnZxlM+98CGWrekWZvC79R8E+XC tctQ== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=0elDyAk2QHwKmLCC06q3VJz6KuygKvsES0+HeH0Qv6U=; b=0MgUqnouyXsED1KEuYR5ANrvJX4RzUPmKDS2vqUTU/AVzb/OjBFO9nGFvC9Rz9jlBd 37jwVbqDx2hQuzQbqnbUhKZ49U5QfrwoU0TTSFbIQPSGlJINDZM/ZdO06A4dFfC7QZKr T4XAVo/O+rgnacsDnWJtYPzCDAPdMFloQ34423964lnB9cYcTYd7Hmb4E8XE0sVlV2Mv 89vroT0OTAo6AfG/Pbm5xqxQskboBOUKNsbnI9kRGRXhBzDxPtOM781qQJB5NwwU8//r dDVvb2PNl3AxU7FixG8Ky0c9fEyO5FdZ0WF063eHRd/zSyh1oAemZqSN6Rq1id20pTZ0 GWDg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b="HLw0TTi/"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id q15si5774390otk.44.2020.01.31.22.26.10; Fri, 31 Jan 2020 22:26:21 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b="HLw0TTi/"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726480AbgBAGZR (ORCPT + 99 others); Sat, 1 Feb 2020 01:25:17 -0500 Received: from mail-pg1-f195.google.com ([209.85.215.195]:44699 "EHLO mail-pg1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726038AbgBAGZR (ORCPT ); Sat, 1 Feb 2020 01:25:17 -0500 Received: by mail-pg1-f195.google.com with SMTP id x7so4751332pgl.11; Fri, 31 Jan 2020 22:25:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=0elDyAk2QHwKmLCC06q3VJz6KuygKvsES0+HeH0Qv6U=; b=HLw0TTi/bOsFuwiXtn/19ICn6Xee4K2N8/z2jq/UYBlosRw8uSuYIqmkk3gFrOjAS1 1gKIXS5i6mNiPzy5sjNnII9Mu61R9yt41apnQtaIUcZnC/TD24+GRPVLxVYe11uIGAdz 1PSqPvk3K38rHTQiifMBB70oQtFG/Hx52OVXvz7OG81EpJsfggMJaerPnrk34W1COmKt Tf2zPiyP9E+qAWIVAOd9iMvT6AheSj7REz5tfAm018X4JqCzv7n6VIeY9GPnTJaW4pvP wtn9jt6nRLvzTSZ0e2nNdH6B5Vq15XOYCs6F0ZZ+ASo1jgOZAp35UsINzA+RfBf0NdYF WG6g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=0elDyAk2QHwKmLCC06q3VJz6KuygKvsES0+HeH0Qv6U=; b=IDEYDOMQzwZAvRvjJymJhWsJcXw1beh82IR17xZdWNMZR9EWMwnLx3iBluc14P4bKI YGF1ybTrbcmAn/revh5DpZsxelTvGFtNavxg6GjcGc80A/zPxJjpRFL9JZq7H0aFUU1p rlg30qyNm1ypjD2viXz0lCFovBge4IIIFlZgBb8hPl6JcpOdoaSw1wRX9gpAO53QmTEg ZEO9r1zGbA4kv9Tbpzkt6S+VpEPWStQlJa597KEE3Bw6NquXqmgDf8ORSGibp2VJqiKZ YZ4aCtQ6RHoceJZLi1aZo8wsdwWpfJNdqWB1zrkbNbskBFI56VjtDfKPTGFmQCCp1a7n W+zA== X-Gm-Message-State: APjAAAW5cUlHD6HqzZgsz6wSaDkO3ztS4KTg01U5dUIffVm+168CBbrg qes+MaakeIWqd73Rk1nxA4U= X-Received: by 2002:a62:3781:: with SMTP id e123mr14529874pfa.194.1580538316429; Fri, 31 Jan 2020 22:25:16 -0800 (PST) Received: from localhost.localdomain ([149.248.18.167]) by smtp.gmail.com with ESMTPSA id v4sm13191971pgo.63.2020.01.31.22.25.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 31 Jan 2020 22:25:15 -0800 (PST) From: Changbin Du To: Andrey Ryabinin Cc: Alexander Potapenko , Jonathan Corbet , Thomas Gleixner , Ingo Molnar , Borislav Petkov , hpa@zytor.com, x86@kernel.org, Andy Lutomirski , Masahiro Yamada , linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-kbuild@vger.kernel.org, Changbin Du Subject: [PATCH 1/2] sanitize: Add SANITIZE_xx.o and SANITIZE to disable all sanitizers for specific files Date: Sat, 1 Feb 2020 14:24:58 +0800 Message-Id: <20200201062459.7150-2-changbin.du@gmail.com> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20200201062459.7150-1-changbin.du@gmail.com> References: <20200201062459.7150-1-changbin.du@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patch add two new flags to disable all sanitizers (UBSAN and KASAN): o SANITIZE_xx.o - disable all sanitizers for a single file. o SANITIZE - disable all sanitizers for current directory. Signed-off-by: Changbin Du --- Documentation/dev-tools/kasan.rst | 12 ++++++++++++ scripts/Makefile.lib | 4 ++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/Documentation/dev-tools/kasan.rst b/Documentation/dev-tools/kasan.rst index e4d66e7c50de..f59fc5fb2cd8 100644 --- a/Documentation/dev-tools/kasan.rst +++ b/Documentation/dev-tools/kasan.rst @@ -55,6 +55,18 @@ similar to the following to the respective kernel Makefile: KASAN_SANITIZE := n +Similarly, to disable all sanitizers (KASAN, UBSAN) for specific files or +directories, add a line similar to the following to the respective kernel +Makefile: + +- For a single file (e.g. main.o):: + + SANITIZE_main.o := n + +- For all files in one directory:: + + SANITIZE := n + Error reports ~~~~~~~~~~~~~ diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib index 3fa32f83b2d7..9b7d784e3252 100644 --- a/scripts/Makefile.lib +++ b/scripts/Makefile.lib @@ -122,13 +122,13 @@ endif # ifeq ($(CONFIG_KASAN),y) _c_flags += $(if $(patsubst n%,, \ - $(KASAN_SANITIZE_$(basetarget).o)$(KASAN_SANITIZE)y), \ + $(SANITIZE_$(basetarget).o)$(SANITIZE)$(KASAN_SANITIZE_$(basetarget).o)$(KASAN_SANITIZE)y), \ $(CFLAGS_KASAN), $(CFLAGS_KASAN_NOSANITIZE)) endif ifeq ($(CONFIG_UBSAN),y) _c_flags += $(if $(patsubst n%,, \ - $(UBSAN_SANITIZE_$(basetarget).o)$(UBSAN_SANITIZE)$(CONFIG_UBSAN_SANITIZE_ALL)), \ + $(SANITIZE_$(basetarget).o)$(SANITIZE)$(UBSAN_SANITIZE_$(basetarget).o)$(UBSAN_SANITIZE)$(CONFIG_UBSAN_SANITIZE_ALL)), \ $(CFLAGS_UBSAN)) endif -- 2.24.0