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 X-Spam-Level: X-Spam-Status: No, score=-18.3 required=3.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_IN_DEF_DKIM_WL autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 150BEC48BE5 for ; Wed, 16 Jun 2021 09:08:10 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 9472761055 for ; Wed, 16 Jun 2021 09:08:09 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 9472761055 Authentication-Results: mail.kernel.org; dmarc=fail (p=reject dis=none) header.from=google.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 047016B006C; Wed, 16 Jun 2021 05:08:09 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id F395B6B006E; Wed, 16 Jun 2021 05:08:08 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id DDA0B6B0070; Wed, 16 Jun 2021 05:08:08 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0122.hostedemail.com [216.40.44.122]) by kanga.kvack.org (Postfix) with ESMTP id ACF786B006C for ; Wed, 16 Jun 2021 05:08:08 -0400 (EDT) Received: from smtpin11.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id 4E2A0180AD806 for ; Wed, 16 Jun 2021 09:08:08 +0000 (UTC) X-FDA: 78259010256.11.D2333F3 Received: from mail-ot1-f45.google.com (mail-ot1-f45.google.com [209.85.210.45]) by imf07.hostedemail.com (Postfix) with ESMTP id 9BD10A000247 for ; Wed, 16 Jun 2021 09:07:57 +0000 (UTC) Received: by mail-ot1-f45.google.com with SMTP id 66-20020a9d02c80000b02903615edf7c1aso1763602otl.13 for ; Wed, 16 Jun 2021 02:08:07 -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=9xuYq+64b5WvG58VNmoINL8JRqUZnuNk7CS6Gt/jkYU=; b=lrYME9Lw0bw5jobMrw7bAtz5zFCN5SIDCWMMy0Oc0iZ4OQM2eXD+jUDkK8nxuts6FA AhN/U0QDTrC0uUDtjo1hykQLrvJkugVmxGdE72uPfu38L59Vca6oh8jJDg379Nm1VdPR BzRHVGfCTzwQOlq/xhXSpQZnXcZudbpjg5IaGbYAvlAHcTdf2ih3PJfBvYEgRNK84Y2H I/DxrlyGKIeYhJzsGfXq7badWjr+bCqgO65DdKZr2ECnoKxf1dwN8m/0M9CO1nbAQWFn /YKrA4l8MnlqJCjqDpx5yYF5+t1yzzfOu4Q0KLNh8EbBwjwhE3pVEW40Zj98ScS7lun2 ozsg== 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=9xuYq+64b5WvG58VNmoINL8JRqUZnuNk7CS6Gt/jkYU=; b=aHKHDY5GxolGFKIUz4iHIQ2gKYVGHmc/NkaIoRPwYuGwSNIozC35EAJ2VJJcF4Ylhj +cbumxXFC7MlAJ7RZGWA13oMpa1mmbnSdUDNlLxxXRqIjI/5Nr2FrrzZcwAspeYSjhZv +VqMjJD2N3Xu97apmG8INm9DfWNnz7S1N72Uu3e1D/MrP7u+ggjBWwp74pu9oYJESd34 Gssi52qhMAPrtwdGhXNt4sNJS2pW4HA1kOrEl8xHVr7yhhRHZoTB0vZAxMi0cfFLmcAN MjX861WiqSamxxZIpPKbAHx2618RH/Fma4DZ+LJZhJ2ip9gRZU+hElBOAOn7YK9uWn6/ NXvQ== X-Gm-Message-State: AOAM532WQ5tRuSJxgT54iLVyZlFI6rwagMlURu+DDx90DwtaPHpGcnKq BB54zMYv4zgjnRoruEPHEgfIAP+wv0g7U3pyFw9ChQ== X-Google-Smtp-Source: ABdhPJyDEOnGc9wAnOoqktHhJZmmNWHzwtwqb4yeXvjQLG8ilX6jnwU0HCYru7+LM5x6jxSUH5lcOFoSo2gOnUPfKv0= X-Received: by 2002:a05:6830:1bcb:: with SMTP id v11mr3239145ota.251.1623834487248; Wed, 16 Jun 2021 02:08:07 -0700 (PDT) MIME-Version: 1.0 References: <20210616080244.51236-1-dja@axtens.net> <20210616080244.51236-4-dja@axtens.net> In-Reply-To: <20210616080244.51236-4-dja@axtens.net> From: Marco Elver Date: Wed, 16 Jun 2021 11:07:55 +0200 Message-ID: Subject: Re: [PATCH v13 3/3] kasan: define and use MAX_PTRS_PER_* for early shadow tables To: Daniel Axtens Cc: LKML , Linux Memory Management List , kasan-dev , Andrew Morton , Andrey Konovalov , linuxppc-dev@lists.ozlabs.org, Christophe Leroy , aneesh.kumar@linux.ibm.com, Balbir Singh Content-Type: text/plain; charset="UTF-8" Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=google.com header.s=20161025 header.b=lrYME9Lw; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf07.hostedemail.com: domain of elver@google.com designates 209.85.210.45 as permitted sender) smtp.mailfrom=elver@google.com X-Stat-Signature: yacup8bzcf1iiua76p1hg7ekoouiio67 X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 9BD10A000247 X-HE-Tag: 1623834477-591705 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 Wed, 16 Jun 2021 at 10:03, Daniel Axtens wrote: [...] > diff --git a/include/linux/kasan.h b/include/linux/kasan.h > index 768d7d342757..fd65f477ac92 100644 > --- a/include/linux/kasan.h > +++ b/include/linux/kasan.h > @@ -40,10 +40,22 @@ struct kunit_kasan_expectation { > #define PTE_HWTABLE_PTRS 0 > #endif > > +#ifndef MAX_PTRS_PER_PTE > +#define MAX_PTRS_PER_PTE PTRS_PER_PTE > +#endif > + > +#ifndef MAX_PTRS_PER_PMD > +#define MAX_PTRS_PER_PMD PTRS_PER_PMD > +#endif > + > +#ifndef MAX_PTRS_PER_PUD > +#define MAX_PTRS_PER_PUD PTRS_PER_PUD > +#endif This is introducing new global constants in a header. It feels like this should be in together with a comment. Because is actually included in , most of the kernel will get these new definitions. That in itself is fine, but it feels wrong that the KASAN header introduces these. Thoughts? Sorry for only realizing this now. Thanks, -- Marco > extern unsigned char kasan_early_shadow_page[PAGE_SIZE]; > -extern pte_t kasan_early_shadow_pte[PTRS_PER_PTE + PTE_HWTABLE_PTRS]; > -extern pmd_t kasan_early_shadow_pmd[PTRS_PER_PMD]; > -extern pud_t kasan_early_shadow_pud[PTRS_PER_PUD]; > +extern pte_t kasan_early_shadow_pte[MAX_PTRS_PER_PTE + PTE_HWTABLE_PTRS]; > +extern pmd_t kasan_early_shadow_pmd[MAX_PTRS_PER_PMD]; > +extern pud_t kasan_early_shadow_pud[MAX_PTRS_PER_PUD]; > extern p4d_t kasan_early_shadow_p4d[MAX_PTRS_PER_P4D]; > > int kasan_populate_early_shadow(const void *shadow_start, > diff --git a/mm/kasan/init.c b/mm/kasan/init.c > index 348f31d15a97..cc64ed6858c6 100644 > --- a/mm/kasan/init.c > +++ b/mm/kasan/init.c > @@ -41,7 +41,7 @@ static inline bool kasan_p4d_table(pgd_t pgd) > } > #endif > #if CONFIG_PGTABLE_LEVELS > 3 > -pud_t kasan_early_shadow_pud[PTRS_PER_PUD] __page_aligned_bss; > +pud_t kasan_early_shadow_pud[MAX_PTRS_PER_PUD] __page_aligned_bss; > static inline bool kasan_pud_table(p4d_t p4d) > { > return p4d_page(p4d) == virt_to_page(lm_alias(kasan_early_shadow_pud)); > @@ -53,7 +53,7 @@ static inline bool kasan_pud_table(p4d_t p4d) > } > #endif > #if CONFIG_PGTABLE_LEVELS > 2 > -pmd_t kasan_early_shadow_pmd[PTRS_PER_PMD] __page_aligned_bss; > +pmd_t kasan_early_shadow_pmd[MAX_PTRS_PER_PMD] __page_aligned_bss; > static inline bool kasan_pmd_table(pud_t pud) > { > return pud_page(pud) == virt_to_page(lm_alias(kasan_early_shadow_pmd)); > @@ -64,7 +64,7 @@ static inline bool kasan_pmd_table(pud_t pud) > return false; > } > #endif > -pte_t kasan_early_shadow_pte[PTRS_PER_PTE + PTE_HWTABLE_PTRS] > +pte_t kasan_early_shadow_pte[MAX_PTRS_PER_PTE + PTE_HWTABLE_PTRS] > __page_aligned_bss; > > static inline bool kasan_pte_table(pmd_t pmd) > -- > 2.30.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/msgid/kasan-dev/20210616080244.51236-4-dja%40axtens.net.