From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.1 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 44F3FC3B1BF for ; Sun, 16 Feb 2020 04:46:55 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 07C0620857 for ; Sun, 16 Feb 2020 04:46:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1581828415; bh=gXC4tBD8426bmDuKyfsXtv5n7wRhlOdA3Vs3ONT1Naw=; h=References:In-Reply-To:From:Date:Subject:To:Cc:List-ID:From; b=vXgmqaS4u2H90Ta7QV3iwtrCbfRxtVOluCS+FP1W8fZG/JWYy4d/7ZDwzb9oJE6zT G+kd6bzYwT+o/fe48QzpMo5lq0v/B/WuqbSwcd6HZ2pwlXuvVWNgjB8gM6VdPhyDJJ jRej/6eZCYHgMfWF9eGy+0JGjN5aB+tVNlmdK7+g= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726651AbgBPEqy (ORCPT ); Sat, 15 Feb 2020 23:46:54 -0500 Received: from conssluserg-02.nifty.com ([210.131.2.81]:42736 "EHLO conssluserg-02.nifty.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726634AbgBPEqy (ORCPT ); Sat, 15 Feb 2020 23:46:54 -0500 Received: from mail-vk1-f175.google.com (mail-vk1-f175.google.com [209.85.221.175]) (authenticated) by conssluserg-02.nifty.com with ESMTP id 01G4knUL018848; Sun, 16 Feb 2020 13:46:50 +0900 DKIM-Filter: OpenDKIM Filter v2.10.3 conssluserg-02.nifty.com 01G4knUL018848 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nifty.com; s=dec2015msa; t=1581828410; bh=kRDtLlY/sMJu/K4srmxboOx3IqTLY+xR78bIUykXjLE=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=KxDBp5N+FL3ryREMNWh/kC/WEIPSOjGnWsw8xE5DqYJYm/K+KuoAuycSwv59Ov+LX q6qXypmIoU14tfcczuA+3VGbNP7daCHYwLx7/wTuY+OFfEKvyiQoeIBJS3dtc4h4V5 koIvsXNcZ4mgEdEk6HHlIHdFtgsmYaSzZZsROHnL5wviWdbRlmhNWgWd/90Tfi+3ws 03URtjD0FFe0x2pculeWmv/jECotLzXiCYRM9lkY/2A8kn1bai2Jbm1yW6QVuWkUnP SlP4p8R1pKTrMrreqy19bpjl1Tmu6KDx4SHFfl4ikcHegmh2OqpUZwv1CwGAiI8Axa aoHjuhND/bDxQ== X-Nifty-SrcIP: [209.85.221.175] Received: by mail-vk1-f175.google.com with SMTP id w4so3691431vkd.5; Sat, 15 Feb 2020 20:46:50 -0800 (PST) X-Gm-Message-State: APjAAAXPUu5vjDJOY+e3qc099lEvASJCtFYy7meqXTh55SzlIlvwds0v 1yhOmnCTudYfmL/1oQRM87op/rjbmQb/CHca16A= X-Google-Smtp-Source: APXvYqw5njGV6lWi5rpITygFBQYX4hxKkyR82xkrXYNmCx92gIkgxqTDj11EB1ki+KarqeP6mV9EoIUZp5EpjS6aDfQ= X-Received: by 2002:a1f:bfc2:: with SMTP id p185mr2951268vkf.73.1581828408908; Sat, 15 Feb 2020 20:46:48 -0800 (PST) MIME-Version: 1.0 References: <20200201062459.7150-1-changbin.du@gmail.com> <20200201062459.7150-2-changbin.du@gmail.com> In-Reply-To: <20200201062459.7150-2-changbin.du@gmail.com> From: Masahiro Yamada Date: Sun, 16 Feb 2020 13:46:13 +0900 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH 1/2] sanitize: Add SANITIZE_xx.o and SANITIZE to disable all sanitizers for specific files To: Changbin Du Cc: Andrey Ryabinin , Alexander Potapenko , Jonathan Corbet , Thomas Gleixner , Ingo Molnar , Borislav Petkov , "H. Peter Anvin" , X86 ML , Andy Lutomirski , "open list:DOCUMENTATION" , Linux Kernel Mailing List , Linux Kbuild mailing list Content-Type: text/plain; charset="UTF-8" Sender: linux-doc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-doc@vger.kernel.org Hi Changbin, On Sat, Feb 1, 2020 at 3:25 PM Changbin Du wrote: > > 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), \ I think this would be very unlikely to happen, but if both SANITIZE and KASAN_SANITIZE existed, KASAN_SANITIZE should take precedence over SANITIZE, maybe? Perhaps, like this? $(KASAN_SANITIZE_$(basetarget).o)$(SANITIZE_$(basetarget).o)$(KASAN_SANITIZE)$(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 > -- Best Regards Masahiro Yamada