Received: by 2002:a05:6a10:1d13:0:0:0:0 with SMTP id pp19csp261438pxb; Wed, 25 Aug 2021 02:33:13 -0700 (PDT) X-Google-Smtp-Source: ABdhPJztCk2a6I2cHnpx0ql66e7Ze0bDg0+x5R35t1dDgLLlNjvO/+djPvP/yMu/AGi07pKcYYLB X-Received: by 2002:a05:6602:3293:: with SMTP id d19mr19264902ioz.158.1629883993644; Wed, 25 Aug 2021 02:33:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1629883993; cv=none; d=google.com; s=arc-20160816; b=RkKghTMkpGnOALcRNlW6CFkKi8KLEU5OAxoYitdI3Wdrxr/fEFjN63KdAujQZbka+c 5f+fkZQVK1FYG80o8XhBmiu2wxO5iUdHaPoFdeT2N3CpCkz9ve11VtI9c5gGvpCsNhoL jun0h9qMVXT5+0gH/EVXlE/fRpdBgUTitLalg1svDZoYbxx+0RHeF6ZYBdG73OgYZ2qU v1Tx1NUsIEHhZAbCJBWYpd/kFQBLNJ3BAX1QAcTxpO1w26Lpxi70a4NjxZ6x2tOJ71Cv VORbLsI9BfYxuwDgpI2qwJRmFp/qzq+K/5nmDm1SEJN6DeYwqe9J5NM5E2HK8it1+LK1 PU9g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=nIK28OMLuwRHSdvdEpMN380N/Y1YA/9aI7TDeyqQyqQ=; b=HxqY62Gwc4epyDS+l9b7eGTNQ+a4djnsjvV47zxcMHmfj3/OS2FCovPhcSjjsJzhIa cEcJ8aj/I3qvuzPobpDkZTNFqGPFjCWZNTbUEabq18wYJJk5Lp33eVVJm8k70KUWSyVa ad3MsY7le190zH37V8wWOcaSoAAyc+3OzNkmqpfxDQhSHDCWIcNsTQ3bLMySbq/yI1E0 HJJ47NcT5grnpTRTdcdmx8NvtMWluQFRlLmlIU/B2JnJ3z2lWyZydRoab22DXUsu1M4h B60RmQ3jgagxufKBpGfa6sjuCeIKieIKBTHABB7GIZCqPCglhqdm6PKlXBgA0S+osKYQ Hacg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=o1MLlo1f; 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 b16si23774964ilf.63.2021.08.25.02.33.01; Wed, 25 Aug 2021 02:33:13 -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=o1MLlo1f; 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 S237008AbhHYJcq (ORCPT + 99 others); Wed, 25 Aug 2021 05:32:46 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55888 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233076AbhHYJcp (ORCPT ); Wed, 25 Aug 2021 05:32:45 -0400 Received: from mail-qk1-x72a.google.com (mail-qk1-x72a.google.com [IPv6:2607:f8b0:4864:20::72a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2667BC061757 for ; Wed, 25 Aug 2021 02:32:00 -0700 (PDT) Received: by mail-qk1-x72a.google.com with SMTP id a10so17450262qka.12 for ; Wed, 25 Aug 2021 02:32:00 -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:content-transfer-encoding; bh=nIK28OMLuwRHSdvdEpMN380N/Y1YA/9aI7TDeyqQyqQ=; b=o1MLlo1fb70lP/IE1cPh9PvxqcSLDJJa2QXKLuRK6NT7yNvMscJTJ++gYXCz8UYmNY ZZLwsAxwOVQ85UGanSOfsvtnXkVHtgFr0ryPXJSGLneZ9yjpMOREPom1XLXequnTr1mX qU8ocyNBeHlLK4DNJc6zKaMJ3QKbQq8l5NQdHITOIsNVgrLCVLyDMOfenUVXS2kZ1Hod FTiAjCmlG0KO3IBUTmM4ZlBfCms5XcVr7miH5x/cS2PVgXg+lDrWrg6kUZmHXIr/4Y4O Tth/o9LJ+0V1UsccrIcMfx/072V6dG3Uo/HjamUteqV3zSAMpvyGeqHjYlECCtou2/Cn 6iqg== 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:content-transfer-encoding; bh=nIK28OMLuwRHSdvdEpMN380N/Y1YA/9aI7TDeyqQyqQ=; b=KWhX0caPCst6iuQtz9ECsVYYnuChMkHXc7IE8E8bH7DZcDK1vpxKlD1TZOqjnzSQWr 0PBvgVPn+SvCaC84E6FrH9vgGmelTaQq+C8zRd/WEnP6eesZ03cYEFDXvA+a8mH1QoPB IYugzm4I4UXuFE3oX5dhpIsKrAjkUZZHOW4x5/cYlY6zqnwvYmBMFJ+rU8q35HEcnPoa M6WshNx8wRSsK2D6EOG/tlc6ogfUYGOV8Pbmf0N4/n7kSoVaZ5ny5Zj1SqmTFxJatI0K uf4DZkZJTn5hDpDP6ly/CcOdQgQHuejg26n/glxSxfTwy7bof3cDmzl6FQWnwkXlGtcf +WHg== X-Gm-Message-State: AOAM530N9pbwYnLv0VIngC53b/3tDnJoZg0Kym5VJP5/WjDgFayX3mxD DKsBww4HlJnu4fhxW3ZpPwoSw0FQkNk+d6J18BgpKg== X-Received: by 2002:a05:620a:d54:: with SMTP id o20mr30711262qkl.326.1629883919020; Wed, 25 Aug 2021 02:31:59 -0700 (PDT) MIME-Version: 1.0 References: <20210825092116.149975-1-wangkefeng.wang@huawei.com> <20210825092116.149975-5-wangkefeng.wang@huawei.com> In-Reply-To: <20210825092116.149975-5-wangkefeng.wang@huawei.com> From: Alexander Potapenko Date: Wed, 25 Aug 2021 11:31:22 +0200 Message-ID: Subject: Re: [PATCH 4/4] mm: kfence: Only load kfence_test when kfence is enabled To: Kefeng Wang Cc: Russell King , Marco Elver , Dmitry Vyukov , Linux ARM , LKML , kasan-dev , Andrew Morton Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Aug 25, 2021 at 11:17 AM Kefeng Wang w= rote: > > Provide kfence_is_enabled() helper, only load kfence_test module > when kfence is enabled. What's wrong with the current behavior? I think we need at least some way to tell the developer that KFENCE does not work, and a failing test seems to be the perfect one. > Signed-off-by: Kefeng Wang > --- > include/linux/kfence.h | 2 ++ > mm/kfence/core.c | 8 ++++++++ > mm/kfence/kfence_test.c | 2 ++ > 3 files changed, 12 insertions(+) > > diff --git a/include/linux/kfence.h b/include/linux/kfence.h > index 3fe6dd8a18c1..f08f24e8a726 100644 > --- a/include/linux/kfence.h > +++ b/include/linux/kfence.h > @@ -22,6 +22,8 @@ > #define KFENCE_POOL_SIZE ((CONFIG_KFENCE_NUM_OBJECTS + 1) * 2 * PAGE_SIZ= E) > extern char *__kfence_pool; > > +bool kfence_is_enabled(void); > + > #ifdef CONFIG_KFENCE_STATIC_KEYS > #include > DECLARE_STATIC_KEY_FALSE(kfence_allocation_key); > diff --git a/mm/kfence/core.c b/mm/kfence/core.c > index 7a97db8bc8e7..f1aaa7ebdcad 100644 > --- a/mm/kfence/core.c > +++ b/mm/kfence/core.c > @@ -51,6 +51,14 @@ static unsigned long kfence_sample_interval __read_mos= tly =3D CONFIG_KFENCE_SAMPLE > #endif > #define MODULE_PARAM_PREFIX "kfence." > > +bool kfence_is_enabled(void) > +{ > + if (!kfence_sample_interval || !READ_ONCE(kfence_enabled)) > + return false; > + return true; > +} > +EXPORT_SYMBOL_GPL(kfence_is_enabled); > + > static int param_set_sample_interval(const char *val, const struct kerne= l_param *kp) > { > unsigned long num; > diff --git a/mm/kfence/kfence_test.c b/mm/kfence/kfence_test.c > index eb6307c199ea..4087f9f1497e 100644 > --- a/mm/kfence/kfence_test.c > +++ b/mm/kfence/kfence_test.c > @@ -847,6 +847,8 @@ static void unregister_tracepoints(struct tracepoint = *tp, void *ignore) > */ > static int __init kfence_test_init(void) > { > + if (!kfence_is_enabled()) > + return 0; > /* > * Because we want to be able to build the test as a module, we n= eed to > * iterate through all known tracepoints, since the static regist= ration > -- > 2.26.2 > > -- > You received this message because you are subscribed to the Google Groups= "kasan-dev" group. > To unsubscribe from this group and stop receiving emails from it, send an= email to kasan-dev+unsubscribe@googlegroups.com. > To view this discussion on the web visit https://groups.google.com/d/msgi= d/kasan-dev/20210825092116.149975-5-wangkefeng.wang%40huawei.com. --=20 Alexander Potapenko Software Engineer Google Germany GmbH Erika-Mann-Stra=C3=9Fe, 33 80636 M=C3=BCnchen Gesch=C3=A4ftsf=C3=BChrer: Paul Manicle, Halimah DeLaine Prado Registergericht und -nummer: Hamburg, HRB 86891 Sitz der Gesellschaft: Hamburg