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=-11.9 required=3.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_IN_DEF_DKIM_WL autolearn=no 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 8B2AAC47420 for ; Tue, 29 Sep 2020 16:52:27 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id E19EB208FE for ; Tue, 29 Sep 2020 16:52:26 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="VqnhGR7e" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E19EB208FE 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 D08BB6B0068; Tue, 29 Sep 2020 12:52:25 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id CBA476B006C; Tue, 29 Sep 2020 12:52:25 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B80CC6B0070; Tue, 29 Sep 2020 12:52:25 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0042.hostedemail.com [216.40.44.42]) by kanga.kvack.org (Postfix) with ESMTP id A46556B0068 for ; Tue, 29 Sep 2020 12:52:25 -0400 (EDT) Received: from smtpin16.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id 56E09180AD801 for ; Tue, 29 Sep 2020 16:52:25 +0000 (UTC) X-FDA: 77316692250.16.crook02_310f7762718b Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin16.hostedemail.com (Postfix) with ESMTP id 1BACF10167042 for ; Tue, 29 Sep 2020 16:52:25 +0000 (UTC) X-HE-Tag: crook02_310f7762718b X-Filterd-Recvd-Size: 5131 Received: from mail-wm1-f67.google.com (mail-wm1-f67.google.com [209.85.128.67]) by imf29.hostedemail.com (Postfix) with ESMTP for ; Tue, 29 Sep 2020 16:52:24 +0000 (UTC) Received: by mail-wm1-f67.google.com with SMTP id v12so5540188wmh.3 for ; Tue, 29 Sep 2020 09:52:24 -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=09UR9SuLwWLskf/m2OzcloavK4YxVGusfREn6SghSM8=; b=VqnhGR7e5Y+QNVAikhl7b51GeAH0EF7GfRijsXSqLCApylXqui81r15GHmRn5NZZkT WLGdkW9xG86unltU1fBRLlBax2QXjGmvOovG6PuhQ3fY0nztGMo6g++2xONgQDoiLAvw rcAjPYA6JiB6PZfyVfONcNCvNGQdZW5qr+iMHxyqQeQEIUsS5oODanUYK1uAmAFWzQXK n1ah0v3kFA89AXxKTVDnYkAZIlSFvFE0WDktm+kOn3FueQE9hONwJHlB2HswC4WWrgGR WulwwyJT9pFPdi2ANZocEl9EwCJDK1CvAkQD7Ipkiu9AZh3v8WgO63C2qhDrs/Mqwhox hpuQ== 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=09UR9SuLwWLskf/m2OzcloavK4YxVGusfREn6SghSM8=; b=ekCfxOcq9v4sqQ481ILPHi7SIgvydBuM8F+/Ov+DTHeHUOg2V9x/N6sLLGoQQUinq7 bTJzf2uTCAnF6aiXypKqq02wELzlAkPO/c2lgzJmC+MC4nurYhQ0Wji8o+MDDMUDUd23 Yxtfn6x12gfs8LYGWJApswXf8GmzUz24e0pz2NxnxiQTly02LiPpC88ZiCdPnQ5XpKp6 gDfr5FRtM/TwALyBk1+dW7p1JrJTirShm2JURD214ZXZ0agKsJrf1AUCqO7rDb5OVOz8 nq3A1a4Bt0eqkduNT5NBH/AYTI0IcGADwbyuVj9bDVH14Cf3fG29Lhv25esGOisd1MnV RyRQ== X-Gm-Message-State: AOAM531pwQfJwM5tD4rSWrsQNrI+6nnep9rBBcwAS0deV1nDU0Ygd2HD ZifKi/n6AwuxcKl+tUbECZuoFGApcBKlE0sz2RegiQ== X-Google-Smtp-Source: ABdhPJzdU1RWleO2umQ9ZG81ji0BI7nypy2kf9m7DnuKVGNdNbNHLvDBW4+tA8/N5goYPJThzjRgNtE1rY9gVnAYr5k= X-Received: by 2002:a1c:b388:: with SMTP id c130mr5533839wmf.175.1601398343136; Tue, 29 Sep 2020 09:52:23 -0700 (PDT) MIME-Version: 1.0 References: <20200921132611.1700350-1-elver@google.com> <20200921132611.1700350-4-elver@google.com> <20200921143059.GO2139@willie-the-truck> <20200921174357.GB3141@willie-the-truck> <20200929135355.GA53442@C02TD0UTHF1T.local> In-Reply-To: <20200929135355.GA53442@C02TD0UTHF1T.local> From: Alexander Potapenko Date: Tue, 29 Sep 2020 18:52:11 +0200 Message-ID: Subject: Re: [PATCH v3 03/10] arm64, kfence: enable KFENCE for ARM64 To: Mark Rutland Cc: Marco Elver , Will Deacon , Andrew Morton , "H. Peter Anvin" , "Paul E. McKenney" , Andrey Konovalov , Andrey Ryabinin , Andy Lutomirski , Borislav Petkov , Catalin Marinas , Christoph Lameter , Dave Hansen , David Rientjes , Dmitriy Vyukov , Eric Dumazet , Greg Kroah-Hartman , Hillf Danton , Ingo Molnar , Jann Horn , Jonathan Cameron , Jonathan Corbet , Joonsoo Kim , Kees Cook , Pekka Enberg , Peter Zijlstra , SeongJae Park , Thomas Gleixner , Vlastimil Babka , "the arch/x86 maintainers" , "open list:DOCUMENTATION" , LKML , kasan-dev , Linux ARM , Linux Memory Management List Content-Type: text/plain; charset="UTF-8" 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 x86 we just do `char __kfence_pool[KFENCE_POOL_SIZE] ...;` to > > statically allocate the pool. On arm64 this doesn't seem to work > > because static memory doesn't have struct pages? > > Are you using virt_to_page() directly on that statically-allocated > __kfence_pool? If so you'll need to use lm_alias() if so, as is done in > mm/kasan/init.c. > > Anything statically allocated is part of the kernel image address range > rather than the linear/direct map, and doesn't have a valid virt addr, > but its linear map alias does. > > If you enable CONFIG_DEBUG_VIRTUAL you should get warnings if missing > lm_alias() calls. I just checked that on x86 CONFIG_DEBUG_VIRTUAL prints no warnings on our tests. virt_addr_valid() also returns true for addresses belonging to __kfence_pool declared in BSS. Could this be related to x86 mapping the kernel twice?