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=-10.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS 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 83983C07E99 for ; Tue, 6 Jul 2021 00:05:48 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 135B56186A for ; Tue, 6 Jul 2021 00:05:48 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 135B56186A Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=axtens.net Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id B42CE6B0011; Mon, 5 Jul 2021 20:05:47 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B18996B006C; Mon, 5 Jul 2021 20:05:47 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9E0DD6B0070; Mon, 5 Jul 2021 20:05:47 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0155.hostedemail.com [216.40.44.155]) by kanga.kvack.org (Postfix) with ESMTP id 7D9E76B0011 for ; Mon, 5 Jul 2021 20:05:47 -0400 (EDT) Received: from smtpin19.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id E8EA71802184B for ; Tue, 6 Jul 2021 00:05:46 +0000 (UTC) X-FDA: 78330219492.19.B549F2E Received: from mail-pg1-f171.google.com (mail-pg1-f171.google.com [209.85.215.171]) by imf15.hostedemail.com (Postfix) with ESMTP id A5006D0000A4 for ; Tue, 6 Jul 2021 00:05:46 +0000 (UTC) Received: by mail-pg1-f171.google.com with SMTP id g22so19751394pgl.7 for ; Mon, 05 Jul 2021 17:05:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=axtens.net; s=google; h=from:to:cc:subject:in-reply-to:references:date:message-id :mime-version; bh=f7ZB2u7cN1xFre4uiL7GzLzkfmTR/fW1AGUvpXkWqYQ=; b=hBdjwIEdLWSbkaE0dToSCvL7WVoHK+VOzyfByguxTb/zgIN1/XRbvNbL9ePushfI0g fV7TnLTtBNTOg+vRygVQXJ4w1mMTyjLR3fSuzeLHNCJW4ENh8/XR/5X742M6seefXTKp BrtaMCYD7dxR7HCkgUidWhYMJJ/og0irx42RE= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:in-reply-to:references:date :message-id:mime-version; bh=f7ZB2u7cN1xFre4uiL7GzLzkfmTR/fW1AGUvpXkWqYQ=; b=PEEPQCF5IYgjKvnt2ePd1eglJged5s2hjMIMD0G4LD7J6a9OxVi2dikk4vU5rou24h OrklfsK6uvZ3+54HNjL23Z0VKi54fwWKg0DaT+f/1S3LWHuxYtjeo/yUYJHux0XmrqMF 7YnKE3eSDEIJhZ6Y91rYF56GmwjatU8H10UL9LctR2lBcV0oiIbb5iN60o/JNIhbAoCE ea4F7jFOoUxHmEQQHQpM2nLv28Qci3VC0uk0eI+dvml/Akm9t8rrZWdfOhXA2sFtZBZ4 qRWh2fg/h/ib8kAPDwoP//A6c2WezZ83TFozZqvWNWI4xCnQ0blTflgKUj6CZPB69zNd 7iPA== X-Gm-Message-State: AOAM532CjlZMWcoO/CsqFh0ge6ob1u/0e5rHdztm7NJkrDNYCAtPCAEA W/ULDxcgJTh5tRK5Tl6vK0UUbg== X-Google-Smtp-Source: ABdhPJyscNgeBpcNyDzkDp0rCnRIjnVB2rLGbQzAnBGt9PE0WskVAsgBL1REwpJL1OsDyscNUh/oqw== X-Received: by 2002:a05:6a00:5e:b029:30f:d0d3:214e with SMTP id i30-20020a056a00005eb029030fd0d3214emr17518723pfk.29.1625529945768; Mon, 05 Jul 2021 17:05:45 -0700 (PDT) Received: from localhost ([203.206.29.204]) by smtp.gmail.com with ESMTPSA id d23sm12060542pjd.25.2021.07.05.17.05.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 Jul 2021 17:05:45 -0700 (PDT) From: Daniel Axtens To: Marco Elver , Kefeng Wang Cc: Catalin Marinas , Will Deacon , Andrey Ryabinin , Andrey Konovalov , Dmitry Vyukov , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, kasan-dev@googlegroups.com, linux-mm@kvack.org Subject: Re: [PATCH -next 3/3] kasan: arm64: Fix pcpu_page_first_chunk crash with KASAN_VMALLOC In-Reply-To: <87bl7gxq7k.fsf@dja-thinkpad.axtens.net> References: <20210705111453.164230-1-wangkefeng.wang@huawei.com> <20210705111453.164230-4-wangkefeng.wang@huawei.com> <87bl7gxq7k.fsf@dja-thinkpad.axtens.net> Date: Tue, 06 Jul 2021 10:05:41 +1000 Message-ID: <878s2kxq5m.fsf@dja-thinkpad.axtens.net> MIME-Version: 1.0 Content-Type: text/plain Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=axtens.net header.s=google header.b=hBdjwIEd; spf=pass (imf15.hostedemail.com: domain of dja@axtens.net designates 209.85.215.171 as permitted sender) smtp.mailfrom=dja@axtens.net; dmarc=none X-Stat-Signature: 4spmwegkfi1nuy3g471but48tsohwsg6 X-Rspamd-Queue-Id: A5006D0000A4 X-Rspamd-Server: rspam06 X-HE-Tag: 1625529946-702125 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: > If so, should we put the call inside of vm_area_register_early? Ah, we already do this. Sorry. My other questions remain. Kind regards, Daniel > > Kind regards, > Daniel > >> >>> void __init kasan_init(void) >>> { >>> kasan_init_shadow(); >>> diff --git a/include/linux/kasan.h b/include/linux/kasan.h >>> index 5310e217bd74..79d3895b0240 100644 >>> --- a/include/linux/kasan.h >>> +++ b/include/linux/kasan.h >>> @@ -49,6 +49,8 @@ extern p4d_t kasan_early_shadow_p4d[MAX_PTRS_PER_P4D]; >>> int kasan_populate_early_shadow(const void *shadow_start, >>> const void *shadow_end); >>> >>> +void kasan_populate_early_vm_area_shadow(void *start, unsigned long size); >>> + >>> static inline void *kasan_mem_to_shadow(const void *addr) >>> { >>> return (void *)((unsigned long)addr >> KASAN_SHADOW_SCALE_SHIFT) >>> diff --git a/mm/kasan/init.c b/mm/kasan/init.c >>> index cc64ed6858c6..d39577d088a1 100644 >>> --- a/mm/kasan/init.c >>> +++ b/mm/kasan/init.c >>> @@ -279,6 +279,11 @@ int __ref kasan_populate_early_shadow(const void *shadow_start, >>> return 0; >>> } >>> >>> +void __init __weak kasan_populate_early_vm_area_shadow(void *start, >>> + unsigned long size) >>> +{ >>> +} >> >> I'm just wondering if this could be a generic function, perhaps with an >> appropriate IS_ENABLED() check of a generic Kconfig option >> (CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK ?) to short-circuit it, if it's >> not only an arm64 problem. >> >> But I haven't looked much further, so would appeal to you to either >> confirm or reject this idea. >> >> Thanks, >> -- Marco