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 523E9C433EF for ; Thu, 21 Apr 2022 08:50:48 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D76216B0071; Thu, 21 Apr 2022 04:50:47 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D26666B0073; Thu, 21 Apr 2022 04:50:47 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BEE556B0074; Thu, 21 Apr 2022 04:50:47 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (relay.hostedemail.com [64.99.140.28]) by kanga.kvack.org (Postfix) with ESMTP id B104C6B0071 for ; Thu, 21 Apr 2022 04:50:47 -0400 (EDT) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay11.hostedemail.com (Postfix) with ESMTP id 8E09C82CD3 for ; Thu, 21 Apr 2022 08:50:47 +0000 (UTC) X-FDA: 79380265734.10.640F330 Received: from mail-yw1-f179.google.com (mail-yw1-f179.google.com [209.85.128.179]) by imf11.hostedemail.com (Postfix) with ESMTP id 47D8A4001D for ; Thu, 21 Apr 2022 08:50:45 +0000 (UTC) Received: by mail-yw1-f179.google.com with SMTP id 00721157ae682-2ebf3746f87so44682807b3.6 for ; Thu, 21 Apr 2022 01:50:46 -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=2+Tn3N0Fvpk4WLUjDImpMjWVuIM4JomwqBL2Nlcl6w4=; b=srOPHl+SSSvyJraiIGtZa7k+iOztdGyUCFCJmPMMSJOZggJM7tjjlh4UaBCTB0/cA+ mOkgqWO28/EAatrwxpRMuBM3U3BMcuwpuqg0jSF3sn+mp+yGKe5zQWJMgeDjIXYmFSjQ pFPeSvRz9NpABzixQiucjfpy2lgUEVcs63hUDZHaPxV4HiDO2eZHaqSLRsVZXs6usSYR DBn1gZQTkx7T4civ95Eo/H2O+80fnqPEoNiX/DNzIt2SMvLmOrMYs+cOnKNRZYodOd87 xxwD62K/uXhikpPdPjz4Ayg/lpswOPh7umBjR5XWVeTJNTCjtIaUlLaKJT2l65CD0/pa s+tA== 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=2+Tn3N0Fvpk4WLUjDImpMjWVuIM4JomwqBL2Nlcl6w4=; b=ydR1EWkYVBBTZQpel9i/oD2f0g6VqMdlkwKFmndADo23NCo5pUjncgsBbvYJarOYKf EMiyfqHy0EyYlGhFby8D+73eIrUj3rTIw1k117Ld+rLV3PNSrbcXq9jqHohce7gER0F/ 5jvO+VVB/hshZHLR/LXG2exZXr3CRTOyXRudgimyYXRIKG5vm7N/TeFNaplHFdD0pijC rXWOvO6vXZLydpZM0HvOE06ZDfmh4CN6YQcxcgNjTdFYVUP+d8BjOWzap3NdVJU4lXxX 00ZxgR7VlK0I75n7QeJbTzjEJCbd0guQ4b6Nf9Tl5q30mom//m8fUbSRe/2ZWprIpF72 jvLQ== X-Gm-Message-State: AOAM531rUMAe8j/HfmY3WMcT0gghlyP+p7rbf8uG1HC9pZt3K8HkYmVM nqLba41/XAMZF+iejhY8Q47QiPn72dwlQtZeVigVmQ== X-Google-Smtp-Source: ABdhPJwMCN2O6NIGJNgyINLQmSXqBTAYpvAJSbIulpsUYVehSD6z2L8Y9p2tisjuw/yuEMupVdJ725E+y3uWH5bFubc= X-Received: by 2002:a81:6c89:0:b0:2f1:c84a:55d with SMTP id h131-20020a816c89000000b002f1c84a055dmr12785051ywc.333.1650531046192; Thu, 21 Apr 2022 01:50:46 -0700 (PDT) MIME-Version: 1.0 References: <20220421083715.45380-1-huangshaobo6@huawei.com> In-Reply-To: <20220421083715.45380-1-huangshaobo6@huawei.com> From: Marco Elver Date: Thu, 21 Apr 2022 10:50:10 +0200 Message-ID: Subject: Re: [PATCH] kfence: check kfence canary in panic and reboot To: Shaobo Huang Cc: akpm@linux-foundation.org, chenzefeng2@huawei.com, dvyukov@google.com, glider@google.com, kasan-dev@googlegroups.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org, nixiaoming@huawei.com, wangbing6@huawei.com, wangfangpeng1@huawei.com, young.liuyang@huawei.com, zengweilin@huawei.com, zhongjubin@huawei.com Content-Type: text/plain; charset="UTF-8" Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=srOPHl+S; spf=pass (imf11.hostedemail.com: domain of elver@google.com designates 209.85.128.179 as permitted sender) smtp.mailfrom=elver@google.com; dmarc=pass (policy=reject) header.from=google.com X-Stat-Signature: 81fkw174p71hp9c8d6gzf8wnfkfygobg X-Rspamd-Queue-Id: 47D8A4001D X-Rspamd-Server: rspam04 X-Rspam-User: X-HE-Tag: 1650531045-883833 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, 21 Apr 2022 at 10:37, Shaobo Huang wrote: [...] > > > static int __init kfence_debugfs_init(void) > > > { > > > struct dentry *kfence_dir = debugfs_create_dir("kfence", NULL); > > > @@ -806,6 +832,8 @@ static void kfence_init_enable(void) > > > > > > WRITE_ONCE(kfence_enabled, true); > > > queue_delayed_work(system_unbound_wq, &kfence_timer, 0); > > > + register_reboot_notifier(&kfence_check_canary_notifier); > > > + atomic_notifier_chain_register(&panic_notifier_list, &kfence_check_canary_notifier); > > > > Executing this on panic is reasonable. However, > > register_reboot_notifier() tells me this is being executed on *every* > > reboot (not just panic). I think that's not what we want, because that > > may increase reboot latency depending on how many KFENCE objects we > > have. Is it possible to *only* do the check on panic? > > if oob occurs before reboot, reboot can also detect it, if not, the detection will be missing in this scenario. > reboot and panic are two scenarios of system reset, so I think both scenarios need to be added. That doesn't quite answer my question, why do you want to run the check during normal reboot? As I understand it right now it will run on any normal reboot, and also on panics. I have concerns adding these checks to normal reboots because it may increase normal reboot latency, which we do not want.