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, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=unavailable 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 60B81C4707F for ; Tue, 25 May 2021 11:00:23 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id E3D6A6142E for ; Tue, 25 May 2021 11:00:22 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E3D6A6142E Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=arm.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 54FC66B0070; Tue, 25 May 2021 07:00:22 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 4FF436B0071; Tue, 25 May 2021 07:00:22 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 18C5D6B0072; Tue, 25 May 2021 07:00:22 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0135.hostedemail.com [216.40.44.135]) by kanga.kvack.org (Postfix) with ESMTP id C63A66B0070 for ; Tue, 25 May 2021 07:00:21 -0400 (EDT) Received: from smtpin27.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay02.hostedemail.com (Postfix) with ESMTP id 1D88B998F for ; Tue, 25 May 2021 11:00:21 +0000 (UTC) X-FDA: 78179459442.27.F21907E Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by imf07.hostedemail.com (Postfix) with ESMTP id 449D2A0001C6 for ; Tue, 25 May 2021 11:00:14 +0000 (UTC) Received: by mail.kernel.org (Postfix) with ESMTPSA id 7E6006141B; Tue, 25 May 2021 11:00:14 +0000 (UTC) Date: Tue, 25 May 2021 12:00:12 +0100 From: Catalin Marinas To: Yu-cheng Yu Cc: x86@kernel.org, "H. Peter Anvin" , Thomas Gleixner , Ingo Molnar , linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org, linux-mm@kvack.org, linux-arch@vger.kernel.org, linux-api@vger.kernel.org, Arnd Bergmann , Andy Lutomirski , Balbir Singh , Borislav Petkov , Cyrill Gorcunov , Dave Hansen , Eugene Syromiatnikov , Florian Weimer , "H.J. Lu" , Jann Horn , Jonathan Corbet , Kees Cook , Mike Kravetz , Nadav Amit , Oleg Nesterov , Pavel Machek , Peter Zijlstra , Randy Dunlap , "Ravi V. Shankar" , Vedvyas Shanbhogue , Dave Martin , Weijiang Yang , Pengfei Xu , Haitao Huang , "Kirill A . Shutemov" , Vincenzo Frascino , Will Deacon Subject: Re: [PATCH v27 30/31] mm: Update arch_validate_flags() to test vma anonymous Message-ID: <20210525110011.GD15564@arm.com> References: <20210521221211.29077-1-yu-cheng.yu@intel.com> <20210521221211.29077-31-yu-cheng.yu@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20210521221211.29077-31-yu-cheng.yu@intel.com> User-Agent: Mutt/1.10.1 (2018-07-13) X-Rspamd-Queue-Id: 449D2A0001C6 Authentication-Results: imf07.hostedemail.com; dkim=none; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=arm.com (policy=none); spf=pass (imf07.hostedemail.com: domain of cmarinas@kernel.org designates 198.145.29.99 as permitted sender) smtp.mailfrom=cmarinas@kernel.org X-Rspamd-Server: rspam04 X-Stat-Signature: stdru9i478bitpn3q8tfwkuhfzy1uiwd X-HE-Tag: 1621940414-157302 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 Fri, May 21, 2021 at 03:12:10PM -0700, Yu-cheng Yu wrote: > When newer VM flags are being created, such as VM_MTE, it becomes necessary > for mmap/mprotect to verify if certain flags are being applied to an > anonymous VMA. > > To solve this, one approach is adding a VM flag to track that MAP_ANONYMOUS > is specified [1], and then using the flag in arch_validate_flags(). > > Another approach is passing the VMA to arch_validate_flags(), and check > vma_is_anonymous(). > > To prepare the introduction of PROT_SHADOW_STACK, which creates a shadow > stack mapping and can be applied only to an anonymous VMA, update > arch_validate_flags() to pass in the VMA. > > [1] commit 9f3419315f3c ("arm64: mte: Add PROT_MTE support to mmap() and mprotect()"), > > Signed-off-by: Yu-cheng Yu > Reviewed-by: Kirill A. Shutemov > Cc: Catalin Marinas > Cc: Kees Cook > Cc: Vincenzo Frascino > Cc: Will Deacon For arm64: Acked-by: Catalin Marinas