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 7487AC07E99 for ; Tue, 6 Jul 2021 00:05:50 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 505746186A for ; Tue, 6 Jul 2021 00:05:50 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229876AbhGFAI0 (ORCPT ); Mon, 5 Jul 2021 20:08:26 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37654 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229743AbhGFAIY (ORCPT ); Mon, 5 Jul 2021 20:08:24 -0400 Received: from mail-pg1-x52c.google.com (mail-pg1-x52c.google.com [IPv6:2607:f8b0:4864:20::52c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 305ADC061574 for ; Mon, 5 Jul 2021 17:05:46 -0700 (PDT) Received: by mail-pg1-x52c.google.com with SMTP id a2so19757317pgi.6 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=jENcDpHCgD+S3+oBfGZjyRh9pGNpdFG/ciBvSSgfahyiND7+CYViw0PAy9UtweL4hE Ve/dFy/83ypjZfw40IoP/fQtPmOrDOk+1LcRKXNKaQywrnTZC4NxDBf0szoSjewtc3V7 nO/QmDSY7YA/BHELk5eUlAM1aHjtXMA31TCVOT4RsskYR54IMp8OiPwrlix5ItpbS0Sz dIE0FE5IkJpoBblDDqScj0Y/wDlxJnFRvB0QrXKJyFlwV2XLuTged8bfQH5sipPUTa76 JihtoskCaIQ2AzVSyEtRii2dUuKYI8k6Bmjawy7Gdlez93ncX7Epaem3LPFb+TBkoRKl noAw== X-Gm-Message-State: AOAM533iauGMvz+SOy0eBgh5hRzi9tQI1P6JA9/U6hEkBnUaHCgGX70m yCO2mxqdr+pPwBKLkCjQYPaVFg== 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 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org > 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 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.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED 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 475A2C07E99 for ; Tue, 6 Jul 2021 00:07:20 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 0E5246186A for ; Tue, 6 Jul 2021 00:07:19 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0E5246186A Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=axtens.net Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-ID:Date:References :In-Reply-To:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=NOYS0EzKTbUwnXb1p5ds9TbY8esSBThPXIfMrAqZW50=; b=VwEqAf6QWC5PXK Koi7eVSfKM98QWZT4MA72nJQEvZrM/0wDgJrlsmE6iK4OqGVFe/R7APtBQVBRHxbZaizNIX93SnIe wTM/SK4Ix7RKBaGPPteS2T8W1sOdw7JpPByeelbC0/+A2sZSdnUeL2ClPAzA0a0JlNvsKeMsGJyMm 36RAcMpSdiPESvate2gSdQo+ZGiEvV1133PI6AExh7xYzlxr2T43dYdeoqkodFCwXpD9ub72NGniy FPH0vb5BG9FPq4SwaVFRu9w7L1ag4OiwUJt0aMYd57eLmMorB4Ci4k8wQCFUJ/wkQduNnIPb960Ru jkcO0ahy6qMO+MxHysFQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1m0Yb0-00A3MF-1r; Tue, 06 Jul 2021 00:05:50 +0000 Received: from mail-pg1-x534.google.com ([2607:f8b0:4864:20::534]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1m0Yaw-00A3LZ-ET for linux-arm-kernel@lists.infradead.org; Tue, 06 Jul 2021 00:05:47 +0000 Received: by mail-pg1-x534.google.com with SMTP id v7so19773585pgl.2 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=UUOCgqqmnrZ4v/OjspUPLqtH9PI85Xkwo6Mq27glyLxAve5jLKJGkmrdSE6u5TkrR3 1Mn8OT7niexeh7wG9PDRnogrSlQvhEwS7KOsMjmeVG9+mVyd6mhyUzZfbIB9k/Lr/f57 /dylnR3TfnYc+bDKCntRsJa5AwLZSxpr+Ht9EPnoLMCmH2sXQbwhDAr2eM2SIk0CvsCx 0KUjDk65xDQbUQdI1Co56HfbWZZj94w7iQ0dmuAYGoNHZQVqfZoVCns6fzFNQEomGp8X alDEusBezUvjv9JVA0Ni8afx20/T62N6dqz/8qBlQrmIiTn3Ak5zDoxojguA5v54S/S0 yxYQ== X-Gm-Message-State: AOAM532yyFwM9FB5oWGxVu8h4GTsjNZywadldTOkqY4MdgzEDQCl/2J8 1alNq603YhOlCQw0ohN8EUn/0w== 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 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210705_170546_531549_CC04DB68 X-CRM114-Status: GOOD ( 12.34 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org > 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 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel