Received: by 2002:a05:6a10:6d10:0:0:0:0 with SMTP id gq16csp3715453pxb; Tue, 19 Apr 2022 08:27:05 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyFvzpaf5ZndzGZA8cvMBzBcN5PjCTLxedearKtkbkF8p7QjGSgiBtqxgvsmlb6kz8MI/C7 X-Received: by 2002:a17:907:eaa:b0:6e8:9105:b3c7 with SMTP id ho42-20020a1709070eaa00b006e89105b3c7mr13715413ejc.26.1650382025558; Tue, 19 Apr 2022 08:27:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1650382025; cv=none; d=google.com; s=arc-20160816; b=a9ZYoGwkyKVY77Kq6NXrfB2dBrlVY/v4Y0wc5KSn+53QN/gGnrrZ0+hfyVjoP3aLm8 HACTZFtffo18MOcVRArpmjv68ACj0tPfHC2coHWvsXX4i4OlOiqG1tlLIyVPujMJpag/ NFbO5DXz07vt+S2Y/dk35/5surra3DDPfp70RVe6iknnZ+WfXUM1IrzKpPHRi7wI3NiJ JJq+6kgVB1VMhlgibzXUSICyD05fjmrU49R3EHdGV0nu2N1WqyU0DbjXx1gtInGChRFM C+ciuRAI1zCKm19321rvVxgUm7Q6DecsWQwPK7EAKhipY6KU49nQ07Uv250liN5g4K4f o+Kg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :references:cc:to:content-language:subject:user-agent:mime-version :date:message-id; bh=QmVL6vgOGEhfRhwkgF4o1b/7KNCHVpNYts6xWZPoV+A=; b=pH7WbThwCMAlqeXMoIVP8JWOLPaPrVPkFeQZee50SCcBZnlRt8ZOH+h0WuGAK/XRht pnaVwpfh99fh1rgB1nofTmYGMqMboPJ9k1Ow49SPfCdMPmPWApOvdaPy2OCV9Nx25IBb ho1hvkuv2SylgJ9E/oz2Mx6/w9u8Qgc4mqnbNTiQJZo+1zJ9USHt1f0C5mnlJGdVNV4/ 0uiGvwDBN/5rF/CLZulcaSB1qvc8kWP3M/RMDSpS0wOgCH0umO2N5s40G4D2H92gE206 6auOPuvrLPE1fHAuXDOC0CniYZE6jlpqjIdBXpjfy0XNp2/o1Yu9JvM6rpxNZgNgBhF9 moGg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id j23-20020a50ed17000000b00418c2b5bf3dsi8021570eds.543.2022.04.19.08.26.39; Tue, 19 Apr 2022 08:27:05 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1348717AbiDSKY6 (ORCPT + 99 others); Tue, 19 Apr 2022 06:24:58 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50142 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S240084AbiDSKY4 (ORCPT ); Tue, 19 Apr 2022 06:24:56 -0400 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 61163237FE for ; Tue, 19 Apr 2022 03:22:14 -0700 (PDT) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 1555D23A; Tue, 19 Apr 2022 03:22:14 -0700 (PDT) Received: from [10.163.40.223] (unknown [10.163.40.223]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id B4DDA3F73B; Tue, 19 Apr 2022 03:22:05 -0700 (PDT) Message-ID: <073cb6a6-3dbc-75d4-dbfe-a5299a6b0510@arm.com> Date: Tue, 19 Apr 2022 15:52:49 +0530 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.5.0 Subject: Re: [PATCH -next v4 3/4] arm64: mm: add support for page table check Content-Language: en-US To: Tong Tiangen , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , x86@kernel.org, "H. Peter Anvin" , Pasha Tatashin , Andrew Morton , Catalin Marinas , Will Deacon , Paul Walmsley , Palmer Dabbelt , Albert Ou Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-arm-kernel@lists.infradead.org, linux-riscv@lists.infradead.org, Kefeng Wang , Guohanjun References: <20220418034444.520928-1-tongtiangen@huawei.com> <20220418034444.520928-4-tongtiangen@huawei.com> From: Anshuman Khandual In-Reply-To: <20220418034444.520928-4-tongtiangen@huawei.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-10.2 required=5.0 tests=BAYES_00,NICE_REPLY_A, RCVD_IN_DNSWL_HI,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 4/18/22 09:14, Tong Tiangen wrote: > +#ifdef CONFIG_PAGE_TABLE_CHECK > +static inline bool pte_user_accessible_page(pte_t pte) > +{ > + return pte_present(pte) && (pte_user(pte) || pte_user_exec(pte)); > +} > + > +static inline bool pmd_user_accessible_page(pmd_t pmd) > +{ > + return pmd_present(pmd) && (pmd_user(pmd) || pmd_user_exec(pmd)); > +} > + > +static inline bool pud_user_accessible_page(pud_t pud) > +{ > + return pud_present(pud) && pud_user(pud); > +} > +#endif Wondering why check for these page table entry states when init_mm has already being excluded ? Should not user page tables be checked for in entirety for all updates ? what is the rationale for filtering out only pxx_user_access_page entries ?