Received: by 2002:a6b:fb09:0:0:0:0:0 with SMTP id h9csp585342iog; Thu, 30 Jun 2022 06:33:08 -0700 (PDT) X-Google-Smtp-Source: AGRyM1tK663PJIX9Ml/xVJ1g04ViVRPE08SPfNbHJES8gTxB7aYSaLcM4gSMYsH7JMv9myg6YxuP X-Received: by 2002:a17:906:3404:b0:726:3afc:fe28 with SMTP id c4-20020a170906340400b007263afcfe28mr8758765ejb.340.1656595987820; Thu, 30 Jun 2022 06:33:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1656595987; cv=none; d=google.com; s=arc-20160816; b=Xt0ChfupJfgS+ZBd8mwelC2RNELKcRRV+Uy/yvWjSYo0QsmbmBLi4Gj0JAYVWUXsoA i271a85ki9NSNP0ZGEV2v/Aoj7oLCZnNhsOl+mu+Qg+89iqv3Eg2HdbPKYpTpnBpgjJz EW+PYJo4cvhSRW7oNZKf0s+p/LWfanX0su+J9Ft39tWcVlWPv4nenZxnBOMpB5RLFGbg 5sMRIai538n++TAeaXTWjwmsniQy7TojA07JjwIih679m6FDuVteT9OUh804UFo/mFuW Xbg3Yt0tYfdx7vdtIfdER0M6Sqa6dnA5m1U/qd/T/KaOV81EyokoVTKfEt350QLkFji/ MMvw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=kpBSxRjyWissqpsLZxu6rDb8LTkx6HPCXFAIhKQadlM=; b=e/4JQRnc657O00jz51c9y9lxTQjaFpeAwmH1la1fHQ21Vlnl6HePried3msotA/Fby KBz9dGpA+f3gIngVhYzH2ECChbdu2BuEp6QFAucjXfCJNzJGWHw5c9bjwJupLgrnMnqM PFSsKKP4slblJfFKC19fgKtEWZX5nppGsk+J813BVbNWJ7455YPgP0XoOKZBy6q5/ryT NqIJY1t9nrqpbw7GpsR1aDYH2HfTMssNe1dFpmenmJz7ESgLHflxG8kDHcQkLcPRq2qL Ilzl7QTuFe2qjxxOkjZ3I+LKd9AgStaGl+bGh9MXUtAiNn5Nknsoe1xAbvWXKrTlY8fd ap4w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=LLapPG0y; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 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 out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id hc33-20020a17090716a100b00718d1200d74si21248585ejc.488.2022.06.30.06.32.41; Thu, 30 Jun 2022 06:33:07 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=LLapPG0y; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 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 S235244AbiF3N3G (ORCPT + 99 others); Thu, 30 Jun 2022 09:29:06 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34608 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234050AbiF3N3F (ORCPT ); Thu, 30 Jun 2022 09:29:05 -0400 Received: from mail-il1-x129.google.com (mail-il1-x129.google.com [IPv6:2607:f8b0:4864:20::129]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BEB8E3335C for ; Thu, 30 Jun 2022 06:29:03 -0700 (PDT) Received: by mail-il1-x129.google.com with SMTP id o4so12371478ilm.9 for ; Thu, 30 Jun 2022 06:29:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=kpBSxRjyWissqpsLZxu6rDb8LTkx6HPCXFAIhKQadlM=; b=LLapPG0yWqc1q3kp+JD49502aWcoipy4BmuQbAaSYV/5y2Sb7CY5mzUjZee4X8qtwj qMsEezJ4dGpdsHEp+6ePq8uns8LD/ITi/HiPpStnOfTzlcsKdBQJYn3dNmKHyWu96G11 6HcAkwV9Ti82rxCtcEfTLO0ctZEzUotaYfF/3xv5Sd7PANeo0ZBtH5CzXY3Xun2BItn5 0UO+30Uly4DQaG+WE4DCMpmnT2y/NgQxzIxoQi7WdvGa/91Z/LMox32jdDZPtorGCKom mk0+LZMwuQdmyMO7kvYlpns3RsUs28dQQi/L8CDIin4CXO25qaNcBx9WKYba3tTnItDw Vxuw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=kpBSxRjyWissqpsLZxu6rDb8LTkx6HPCXFAIhKQadlM=; b=XuDBdKKAV/Ng+o6ZTKlqFF9Uz4wJYr2J2Ldpe0pizMtokwUM5ivgxD5nA9NjG9Bf9P HgocKnR+wWObcbVxAUFYUVyEb4EUU1MwzFQJrKj9BXrqt5qWh4zVrqQTNOjohMNM3EZp VhZqv32WNLphYfhw60HaElifsrn/2fHLJtYsyp9FuDMI0KY0DRAZU0uAXJCEvWsvqFH5 TkifODt2tP0Ynp5Qqn4Pkl9DWrLxhEAZrst7yAiZ1sEp91GrJ0yd7IHlzmH6NbXafZ04 KReEtIYEKU1HiV+jdbrO4w5uZSCBZVeppb41zbLpGaUNW7TBfo0zDKJ1ObbMdPZ7flqN CugQ== X-Gm-Message-State: AJIora9mamNr7uc4s4kFaoA90swXC1RcMsEk1zDR0z1DBprliqmiUWtZ dIOq5oHrI5NOEsTSVCV2IWGui5b/A08jmET98uc= X-Received: by 2002:a05:6e02:1c2a:b0:2d9:45ef:75c2 with SMTP id m10-20020a056e021c2a00b002d945ef75c2mr4984281ilh.235.1656595743231; Thu, 30 Jun 2022 06:29:03 -0700 (PDT) MIME-Version: 1.0 References: <20220630080834.2742777-1-davidgow@google.com> <20220630080834.2742777-2-davidgow@google.com> <20220630125434.GA20153@axis.com> In-Reply-To: <20220630125434.GA20153@axis.com> From: Andrey Konovalov Date: Thu, 30 Jun 2022 15:28:52 +0200 Message-ID: Subject: Re: [PATCH v4 2/2] UML: add support for KASAN under x86_64 To: Vincent Whitchurch , Dmitry Vyukov Cc: David Gow , Johannes Berg , Patricia Alfonso , Jeff Dike , Richard Weinberger , "anton.ivanov@cambridgegreys.com" , Brendan Higgins , Andrew Morton , Andrey Ryabinin , kasan-dev , "linux-um@lists.infradead.org" , LKML , Daniel Latypov , "linux-mm@kvack.org" , "kunit-dev@googlegroups.com" Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Jun 30, 2022 at 2:54 PM Vincent Whitchurch wrote: > > On Thu, Jun 30, 2022 at 11:41:04AM +0200, Dmitry Vyukov wrote: > > On Thu, 30 Jun 2022 at 10:08, David Gow wrote: > > > diff --git a/arch/um/kernel/Makefile b/arch/um/kernel/Makefile > > > index 1c2d4b29a3d4..a089217e2f0e 100644 > > > --- a/arch/um/kernel/Makefile > > > +++ b/arch/um/kernel/Makefile > > > @@ -27,6 +27,9 @@ obj-$(CONFIG_EARLY_PRINTK) += early_printk.o > > > obj-$(CONFIG_STACKTRACE) += stacktrace.o > > > obj-$(CONFIG_GENERIC_PCI_IOMAP) += ioport.o > > > > > > +KASAN_SANITIZE_stacktrace.o := n > > > +KASAN_SANITIZE_sysrq.o := n > > > > Why are these needed? > > It's helpful to leave some comments for any of *_SANITIZE:=n. > > Otherwise later it's unclear if it's due to some latent bugs, some > > inherent incompatibility, something that can be fixed, etc. > > I believe I saw the stacktrace code itself triggering KASAN splats and > causing recursion when sanitization was not disabled on it. I noticed > that other architectures disabled sanitization of their stacktrace code, > eg. ARM in commit 4d576cab16f57e1f87978f ("ARM: 9028/1: disable KASAN in > call stack capturing routines"), so I did not investigate it further. > > (Note that despite the name, sysrq.c is also just stacktrace code.) Stack trace collection code might trigger KASAN splats when walking stack frames, but this can be resolved by using unchecked accesses. The main reason to disable instrumentation here is for performance reasons, see the upcoming patch for arm64 [1] for some details. [1] https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git/commit/?id=802b91118d11