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 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id AA909C433EF for ; Fri, 1 Jul 2022 09:08:41 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E14636B0071; Fri, 1 Jul 2022 05:08:40 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id DC2A16B0073; Fri, 1 Jul 2022 05:08:40 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C8A566B0074; Fri, 1 Jul 2022 05:08:40 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id B6BB46B0071 for ; Fri, 1 Jul 2022 05:08:40 -0400 (EDT) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay13.hostedemail.com (Postfix) with ESMTP id 7FA55604C3 for ; Fri, 1 Jul 2022 09:08:40 +0000 (UTC) X-FDA: 79637955600.20.A796EDC Received: from mail-wr1-f46.google.com (mail-wr1-f46.google.com [209.85.221.46]) by imf16.hostedemail.com (Postfix) with ESMTP id 0EF3C18005D for ; Fri, 1 Jul 2022 09:08:39 +0000 (UTC) Received: by mail-wr1-f46.google.com with SMTP id k7so2211908wrc.12 for ; Fri, 01 Jul 2022 02:08:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=cWHIzp+3WUp4C4qcj3J1sqQ4NecfP0gvWEDQIXDxCZA=; b=S7EU9K2ESnYjIFfr8D2s7DQ495eaV/IlS9h8WATLYLoNYo50IyYLAJU77fCyKyxgFo r0KDAbPEhNHeor2q1TMGyfSpWZ2Xxb93kkcUSQNtv4LnMdVjwDsMPFqyprNo+7orPeos T0YMlpbiEu9KMkXpHwTYZRZ1Y+yOT+MT66d40sXDqZnr16PwtKmfq+sd+jMta2ngPbgN fVvUhJWAS69cTCEiqxO4u/LGSZ87g0Sphj3Wx8AHvX56kO0zRHBrUR228J7O2UMoHrxK +4FofEGOpB8u3gWOVTYWFGApS6jm4fYLBdnHAn4sjdmNbgtkmA4HQDHJH5h66wvKNAYe MjWQ== 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=cWHIzp+3WUp4C4qcj3J1sqQ4NecfP0gvWEDQIXDxCZA=; b=B0gL/TInCMXJcqYPbiTf7JOtJtUUSsHhkC7qsO22UP2YVYOQkB3q21YTofx6Ly92UB XQlUG4bLOKn9qW7+6pfSWxvAHEcukqstHRgGFyy0EWMi6BCnIhOoYZICKCITmyaXewcH jZDiMDpjjjNEyrKYpQ8YWHiFURkRdkKE++kr3NkaPjllzD3+vEhu6UbmwrQOVmlVZ4am 8hWLtypgCQHOUYzgvVRqAPhp3Pdw0hHJAuFbxqkVvvayxZWgaFbTxAT4Ker/dCPKyKI8 /c05tJy4nwSTJUNG3ulQStyJvmZJ3S/N2C3r300OOnBlqGUxcsLC8DyVbYOhhOWOzE7B IDUA== X-Gm-Message-State: AJIora84Mvm/4GKBBsQ9tLLLNQ+YL00O1NyY6TXf/bxybG+3uZq+FgMy SItfWeb67lt7NEB3JC4Vt1pEqme1cI39eIOfhSDNPQ== X-Google-Smtp-Source: AGRyM1u+9Bbxm/xIsmtaWRza6eo9Ztg1heI3SslGLOs+WuiqNjm1FFsmCbirvS9ni9p6WO6KNx9lUCeXZf/76Kvleik= X-Received: by 2002:a05:6000:144d:b0:21b:b3cc:162e with SMTP id v13-20020a056000144d00b0021bb3cc162emr12777663wrx.433.1656666518482; Fri, 01 Jul 2022 02:08:38 -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: From: David Gow Date: Fri, 1 Jul 2022 17:08:27 +0800 Message-ID: Subject: Re: [PATCH v4 2/2] UML: add support for KASAN under x86_64 To: Andrey Konovalov Cc: Vincent Whitchurch , Dmitry Vyukov , 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" ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1656666520; a=rsa-sha256; cv=none; b=zm7Au2gN0199PEsFVFu+2mLrUz+v5/vWdOel2G4c6WW4OX0/djseHFtgZvNL9O0Uo+cFR+ FNW2z2HNgHN+s9eiHRfJIkynCCEgeJ4YiDgOS//LXHxmbkBuwXWQTKQ/D+AZcn/KqQ7xqv /QU6EUgX8vwK0xt1OmslcvotY2dqFe0= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=S7EU9K2E; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf16.hostedemail.com: domain of davidgow@google.com designates 209.85.221.46 as permitted sender) smtp.mailfrom=davidgow@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1656666520; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=cWHIzp+3WUp4C4qcj3J1sqQ4NecfP0gvWEDQIXDxCZA=; b=eFIIYz7mKGpKVvY23qEEd1MIjwNzyzIUATRm+DpqSlOnfznz2SueJ7n/9GR9L6LFADJMU6 PeyiWVxjIxD+2+Uv5A3tAFxV6tkhV4adpLqmpAU9wt+Sh7Vx2YNdv6r/lHaFoD9NnSP3V9 kMuIqRn9oPlWISZwYWh8dy/YHg+Y0AQ= X-Rspamd-Queue-Id: 0EF3C18005D X-Rspam-User: Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=S7EU9K2E; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf16.hostedemail.com: domain of davidgow@google.com designates 209.85.221.46 as permitted sender) smtp.mailfrom=davidgow@google.com X-Rspamd-Server: rspam02 X-Stat-Signature: qxekn4q9ktrntzqqdsp6foscgirzzaw1 X-HE-Tag: 1656666519-945362 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Thu, Jun 30, 2022 at 9:29 PM Andrey Konovalov wrote: > > 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 Ah -- that does it! Using READ_ONCE_NOCHECK() in dump_trace() gets rid of the nasty recursive KASAN failures we were getting in the tests. I'll send out v5 with those files instrumented again. Thanks! -- David