Received: by 2002:a25:ef43:0:0:0:0:0 with SMTP id w3csp794724ybm; Fri, 29 May 2020 12:19:19 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwaiyRHQrpOnBSDMEL6EwDMSW9l9899QBHCy22m2HZ1r3CzGX5pwn2UK+/GrAc3/8d3rjQN X-Received: by 2002:aa7:da46:: with SMTP id w6mr8605207eds.31.1590779959333; Fri, 29 May 2020 12:19:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590779959; cv=none; d=google.com; s=arc-20160816; b=Lp4drInmbYgQbcQCyX/dVPmEJlz+lBj73ZYvVWEC/6+sv3K86I2YUa8J+/XGrsse3Y WfeCeu+qz5LsuJCMjEaElSYuVq/LjPTudAg/3V8DmsriTntUk8TRY9IXMrFIhFAmmnv+ giqJ97MFUTyV8/USe4Hwxfz/eKwezqlbW/PM9/J5oJpkcR8Y7gHSG7Nf3GSVxzgracjj WvQ3fuHGsdXe1xSEtUWxR9uwudgc7U71UVfhVU6XBC3y6SCHCOIuOYEzCM0R+TB1TwW+ 3evK27O5dQp45xbaJ/WeQo6d1rO0OkDLnIFQrp4dEqtxWkbttXuOIgl+Gny4VOyOHJ/N sR4A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=1Xc0lhcTiVdyNEJ9vgqNoCxeQd0IZqdiHS4mWcX+XOo=; b=a1qSMsxVcGTaAvLWvV1WTSwn2qb1WK5bpzEfU45za0/goBPwSS+uVmkyZfO0Snh/it bHIDumJGrp4GRB0gBn1d5lVAJREFpgUU1YsKoySrcowhb24K9ahIu7xnpDBmhFOcxG0n IxGwSTr3Szrhy3k+vZzzRPnAoVyve86DavdbpN0kczewRtmpUfKDm/qPtemTthUWjPK/ o55nGooa3OQ6MEBcKkbBarn+8KHvAK4vrb61xLhH/Zx58e0X7a6az7J47llvq+3Z5TmU kwlJ75fP1cpv5e7nGT8NaAZ2eomqgseyNuFQ1CeOUtFdsgmxwBKo1jq0ow/2dNsVfP4w niXw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=sqaXB7Zj; 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; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id ds1si8615966ejc.127.2020.05.29.12.18.55; Fri, 29 May 2020 12:19: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=@google.com header.s=20161025 header.b=sqaXB7Zj; 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; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728094AbgE2TRC (ORCPT + 99 others); Fri, 29 May 2020 15:17:02 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57282 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728077AbgE2TQ6 (ORCPT ); Fri, 29 May 2020 15:16:58 -0400 Received: from mail-ot1-x342.google.com (mail-ot1-x342.google.com [IPv6:2607:f8b0:4864:20::342]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6A593C08C5C8 for ; Fri, 29 May 2020 12:16:58 -0700 (PDT) Received: by mail-ot1-x342.google.com with SMTP id g5so2290700otg.6 for ; Fri, 29 May 2020 12:16:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=1Xc0lhcTiVdyNEJ9vgqNoCxeQd0IZqdiHS4mWcX+XOo=; b=sqaXB7ZjmBNyRLggIIscCJP4Vi3jpjS3T9XTPNrzG0MgwBcxNfmunNCCV9nuuYCwQt Ccq8hl85J9y3Pj1MkyLFkYBaEnYUfxfXXaf7FJMLeYSQnDU2zmLk0osd5c5BijQWHJnJ lBaH5XVR8CS2T6xUpt4Tv7qphJzX29voGvC3sA+vIullnnFbo8k0vsI4HgeVjqRCdtxq nm0N8pDf0osOMUFm+MVsgaBepq5GqkF+wnpYRpKxXXlxZF7dXAA3/gdYv1f9b0xDQc8e oAAf//08S4rnp8yrWpLUSHX+QJSR00maC42j4mmtoI9SjxOyjRul/sr3YTZhuhXLxD4Z ajAw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=1Xc0lhcTiVdyNEJ9vgqNoCxeQd0IZqdiHS4mWcX+XOo=; b=b9yv3unU092IOn5SgXE8eLphTroMTbTIv4v6h5y5HPTKIMa6FE2s+4Ez48mM6O9NU4 lVVk0LnKK0S/76iCl+Grgo5jCRExHlS31LEJMaE+O4AcPH4RE6ZfUYZqpsCoiJzeRYKI Fmi+9Ks2eUO3rHOoiCxjrnXH2NpUe5DmnjhaddmLzbdgQDeDVPhJJ/bkZhq/xdJSY9jx 9pgFKpyVHdO5FDOSVI6XOSNTpMeFr8ZfhhG4fwYAGbrI9B7VR8UG84jk+H+ht46pDJV4 V55rdsDCULOVqP6iSqL8z78+/mqxYBR85gzznReb/ctAccxhGVG867ZzOCS5B0glxFo5 Qsrw== X-Gm-Message-State: AOAM531Rpdwf5XZPr5Knt790KhnLBw1upRDBxd3lyQwWW2BjuIRev/PJ 4VQUMMVGL6cHMFI+NZsHdM9IZw3vI2x2e9iZAdQFbw== X-Received: by 2002:a9d:518a:: with SMTP id y10mr7801677otg.17.1590779817471; Fri, 29 May 2020 12:16:57 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Marco Elver Date: Fri, 29 May 2020 21:16:46 +0200 Message-ID: Subject: Re: [PATCH v2] kasan: fix clang compilation warning due to stack protector To: Andrey Konovalov Cc: Andrew Morton , Andrey Ryabinin , Alexander Potapenko , Dmitry Vyukov , kasan-dev , Linux Memory Management List , LKML , Qian Cai Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, 29 May 2020 at 21:12, Andrey Konovalov wrote: > > KASAN uses a single cc-option invocation to disable both conserve-stack > and stack-protector flags. The former flag is not present in Clang, which > causes cc-option to fail, and results in stack-protector being enabled. > > Fix by using separate cc-option calls for each flag. Also collect all > flags in a variable to avoid calling cc-option multiple times for > different files. > > Reported-by: Qian Cai > Signed-off-by: Andrey Konovalov > --- > > Changes v1 -> v2: > - Renamed CC_FLAGS_KASAN_CONFLICT to CC_FLAGS_KASAN_RUNTIME. Reviewed-by: Marco Elver Thanks! > --- > mm/kasan/Makefile | 21 +++++++++++++-------- > 1 file changed, 13 insertions(+), 8 deletions(-) > > diff --git a/mm/kasan/Makefile b/mm/kasan/Makefile > index de3121848ddf..d532c2587731 100644 > --- a/mm/kasan/Makefile > +++ b/mm/kasan/Makefile > @@ -15,14 +15,19 @@ CFLAGS_REMOVE_tags_report.o = $(CC_FLAGS_FTRACE) > > # Function splitter causes unnecessary splits in __asan_load1/__asan_store1 > # see: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63533 > -CFLAGS_common.o := $(call cc-option, -fno-conserve-stack -fno-stack-protector) -DDISABLE_BRANCH_PROFILING > -CFLAGS_generic.o := $(call cc-option, -fno-conserve-stack -fno-stack-protector) -DDISABLE_BRANCH_PROFILING > -CFLAGS_generic_report.o := $(call cc-option, -fno-conserve-stack -fno-stack-protector) -DDISABLE_BRANCH_PROFILING > -CFLAGS_init.o := $(call cc-option, -fno-conserve-stack -fno-stack-protector) -DDISABLE_BRANCH_PROFILING > -CFLAGS_quarantine.o := $(call cc-option, -fno-conserve-stack -fno-stack-protector) -DDISABLE_BRANCH_PROFILING > -CFLAGS_report.o := $(call cc-option, -fno-conserve-stack -fno-stack-protector) -DDISABLE_BRANCH_PROFILING > -CFLAGS_tags.o := $(call cc-option, -fno-conserve-stack -fno-stack-protector) -DDISABLE_BRANCH_PROFILING > -CFLAGS_tags_report.o := $(call cc-option, -fno-conserve-stack -fno-stack-protector) -DDISABLE_BRANCH_PROFILING > +CC_FLAGS_KASAN_RUNTIME := $(call cc-option, -fno-conserve-stack) > +CC_FLAGS_KASAN_RUNTIME += $(call cc-option, -fno-stack-protector) > +# Disable branch tracing to avoid recursion. > +CC_FLAGS_KASAN_RUNTIME += -DDISABLE_BRANCH_PROFILING > + > +CFLAGS_common.o := $(CC_FLAGS_KASAN_RUNTIME) > +CFLAGS_generic.o := $(CC_FLAGS_KASAN_RUNTIME) > +CFLAGS_generic_report.o := $(CC_FLAGS_KASAN_RUNTIME) > +CFLAGS_init.o := $(CC_FLAGS_KASAN_RUNTIME) > +CFLAGS_quarantine.o := $(CC_FLAGS_KASAN_RUNTIME) > +CFLAGS_report.o := $(CC_FLAGS_KASAN_RUNTIME) > +CFLAGS_tags.o := $(CC_FLAGS_KASAN_RUNTIME) > +CFLAGS_tags_report.o := $(CC_FLAGS_KASAN_RUNTIME) > > obj-$(CONFIG_KASAN) := common.o init.o report.o > obj-$(CONFIG_KASAN_GENERIC) += generic.o generic_report.o quarantine.o > -- > 2.27.0.rc0.183.gde8f92d652-goog >