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 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 502F6C43458 for ; Mon, 29 Jun 2026 19:26:53 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id ED6266B0133; Mon, 29 Jun 2026 15:26:34 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E392A6B0132; Mon, 29 Jun 2026 15:26:34 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id CFFC46B0133; Mon, 29 Jun 2026 15:26:34 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 9B8696B012D for ; Mon, 29 Jun 2026 15:26:34 -0400 (EDT) Received: from smtpin22.hostedemail.com (lb01a-stub [10.200.18.249]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 279928CB50 for ; Mon, 29 Jun 2026 19:26:34 +0000 (UTC) X-FDA: 84933931908.22.8E2A35C Received: from sea.source.kernel.org (sea.source.kernel.org [172.234.252.31]) by imf23.hostedemail.com (Postfix) with ESMTP id D8746140009; Mon, 29 Jun 2026 19:26:31 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20260515 header.b=fdO1PP2g; spf=pass (imf23.hostedemail.com: domain of ljs@kernel.org designates 172.234.252.31 as permitted sender) smtp.mailfrom=ljs@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Seal: i=1; a=rsa-sha256; d=hostedemail.com; s=arc-20220608; cv=none; t=1782761192; b=b0tmpfA+HiUusfFoTrUoKiWUTB59YTW3cJYoQIaTVNCPNQTKwBKeS0SMz8F8EpEPScMvuB fVgDhJZobuu6BhXOqPjRv6+M6sRgFvcCXxy0AUXb5o5Ga85bWPamfnMwamCEgF3OuT+4ze pGlL0902rRCLZY/B0xYC6EN1OGgwtNU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1782761192; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=7iylMldrhSOO1IEZlbk7MTKXM0GrQcJsQB4ToBzrfcg=; b=0or7byQofq7pqYeenCi7Z1oQ/SiDS8Tj3entrx0pIXRu4lnP+iM8BdCOakXasqq8GAmEnm htUeCcKcJY2r4IrPeLVp1gvhUixubjiNv1lpiRbm4Od5MgiFe673JIU8Q+vlS2L/vFaW2A ZDOOpfNiJKCAwc9XbA3oqOKlYsH0sA4= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20260515 header.b=fdO1PP2g; spf=pass (imf23.hostedemail.com: domain of ljs@kernel.org designates 172.234.252.31 as permitted sender) smtp.mailfrom=ljs@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by sea.source.kernel.org (Postfix) with ESMTP id 1543A43A16; Mon, 29 Jun 2026 19:26:31 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 21CD81F00A3E; Mon, 29 Jun 2026 19:26:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1782761191; bh=7iylMldrhSOO1IEZlbk7MTKXM0GrQcJsQB4ToBzrfcg=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=fdO1PP2gxmsSJuRPnWwcheJxMiMKiZBWn90xI79zJaMiV/YAWbO2W0UnkIARGEFmJ bUUypPCeo0RpYETiZpTVAWC1ZJgInCqeTo7CPwT1NJ+iAS/OA2fkIDIiwkzF2IdCxJ H1jkYqazpwvk7cCzjQ8KC3Eq3OzDzM19YONhlNaTINb3vxc5OIdkaX0FQvTizRIsMV fFHMoQDX/6bV24SU/j+ksLGs/hI3k+hEd9nomwhzobiDnGLxs0IIuDY4YCRVYktHIy Ns0cVUa1HvnaEuLjD4poIn0XFh/n+4WbEqsH7icPumiQlF5blcflwYpgekG7KvEtiI s5/n6ZeMI4APw== From: Lorenzo Stoakes To: Andrew Morton Cc: Thomas Bogendoerfer , Madhavan Srinivasan , Michael Ellerman , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Lucas Stach , Inki Dae , Seung-Woo Kim , Kyungmin Park , Krzysztof Kozlowski , Peter Griffin , Jani Nikula , Joonas Lahtinen , Rodrigo Vivi , Tvrtko Ursulin , Rob Clark , Dmitry Baryshkov , Lyude Paul , Danilo Krummrich , Tomi Valkeinen , Sandy Huang , =?UTF-8?q?Heiko=20St=C3=BCbner?= , Andy Yan , Thierry Reding , Mikko Perttunen , Jonathan Hunter , Gerd Hoffmann , Dmitry Osipenko , Zack Rusin , Matthew Brost , Thomas Hellstrom , Oleksandr Andrushchenko , Helge Deller , Benjamin LaHaise , Alexander Viro , Christian Brauner , Muchun Song , Oscar Salvador , David Hildenbrand , Zi Yan , Baolin Wang , "Liam R . Howlett" , Nico Pache , Ryan Roberts , Dev Jain , Barry Song , Lance Yang , Hugh Dickins , Vlastimil Babka , Mike Rapoport , Suren Baghdasaryan , Michal Hocko , Jann Horn , Pedro Falcato , Kees Cook , Jaroslav Kysela , Takashi Iwai , linux-mips@vger.kernel.org, linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, dri-devel@lists.freedesktop.org, etnaviv@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, intel-gfx@lists.freedesktop.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, nouveau@lists.freedesktop.org, linux-rockchip@lists.infradead.org, linux-tegra@vger.kernel.org, virtualization@lists.linux.dev, intel-xe@lists.freedesktop.org, xen-devel@lists.xenproject.org, linux-fbdev@vger.kernel.org, linux-aio@kvack.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-sound@vger.kernel.org Subject: [PATCH 12/13] mm/mprotect: convert mprotect code to use vma_flags_t Date: Mon, 29 Jun 2026 20:25:35 +0100 Message-ID: <7ef626d8a12dc742cfc09d080be5dc09850e873a.1782760670.git.ljs@kernel.org> X-Mailer: git-send-email 2.54.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspam-User: X-Stat-Signature: qksnmknatow49usb9gozppfmnnz778md X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: D8746140009 X-HE-Tag: 1782761191-413064 X-HE-Meta: U2FsdGVkX1947Mn28a3L3ErYzOsR5ksbnTZ+xHiV317Y3yoAoafTLrhrBGoDdV91awSpWOn7MwvYDH7zBIeBPpwbe4g5rpVW4mJ832zbapzdnDPyCSQlmMFreMdDWpMU7ZSw/C+akwIA/N2RoQTkR/ZLe/gZ6Z3gNAiUIfekmnFFime1m/gKsZjLSvtQHwo0xwLEFWtPYk8GcUuNgCDrCjSl0ftAf9HSulFBjBb5HTD8spf1Qu8RldZ8XdnArv17/b7hywUzr83P2Jy02gOP96gvyGGI+DOds3gA644ffmUaS1nzo3SXHAM31x5uFrrnyYjFXKxdr7piwskN3ae6bgpyLysuqpbtj4z2rCWLqnPiyu0U52fP12f87okaWI3aAYpAL3JPXOhp/kg18iJnJxQbmpeNyvf4jvSdNSJEq+LF6f4Z+H0370EVqYdxwM+U+g7Qc0EwHgoOZpx1Pe0oHNfxnEXvhs3xiZqaVKNkgnBuwdnemgDG8pGJ2pPxA3iz59myI3dyg52zogL002fGQgvz2rfMz9OHeF6d3yCNYjojRCrfEWJ6PQ5G3E55aRt6AmO/Q1KVClgPNXPr+WJALgOl+uPYkkRyMY4O0MbiQNDoYVlScMROr2INvuZEUj+GtkNclwh3JMTVbWUW/ysyi2Xh9WsoS6ysMbsPoB4M9eb3sp0N+NqNxjJduOqGKeImLe0L/hYfgOBiEUzNK2NzrfJAnGN5XRdT6k/lbIE0g6SbCehkJoj0A74qq6Oj4gl5qrHJ0GFJ3hLMjgjdJ2SOOqwfWpr5FyCYYrkwSE/clNdVz1On84sOBp3QKZj2R6F9KkYg2q+NSx1oQsZtA5CcBpeQb7YqQf3W9lGiabreTDOddoIdf81TlsqU94rJlztPcta2cCAVPFua/DyEJ5Q8xsv9J6ZjFu81viu5POw/eX+V1igq8S9PTfmlpQNIidj+DUWNNTiBYljbnh+xogp q4DYNdRX p/O1talNuG2w7J/Ec7xejCoLd3232/KSDOxgwz6h0rINM3gKU8Th9EU8/8QXphnsODfMO4sN3Kw4hEu/1U2PO7W0OsKkecl9+fM4B81AK8D/YNEPfIWB5UdoMsoqtl1cW8eEqBlyZAv7obXh2orYBcsmpKplYCV1PdQpvIh3ZreBq5caLSuDBrel7SJ93cJtra4BBdeYjAMlj6lAPxGGqyqZmhOP4PJ0MFmA27aHizkJtBvaBY0FYNK1uq1VXHgN/uhQveerQpMs0xBp+4mDUrHmXtABpJ7Bf4c3W Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Replace use of the legacy vm_flags_t flags with vma_flags_t values throughout the mprotect logic. Note that we retain the legacy vm_flags_t bit shifting code in do_mprotect_key(), deferring a vma_flags_t approach to this for the time being. Additionally update comments to reflect the changes to be consistent. No functional change intended. Signed-off-by: Lorenzo Stoakes --- mm/mprotect.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/mm/mprotect.c b/mm/mprotect.c index 9cbf932b028c..c9504b2a2525 100644 --- a/mm/mprotect.c +++ b/mm/mprotect.c @@ -40,7 +40,7 @@ static bool maybe_change_pte_writable(struct vm_area_struct *vma, pte_t pte) { - if (WARN_ON_ONCE(!(vma->vm_flags & VM_WRITE))) + if (WARN_ON_ONCE(!vma_test(vma, VMA_WRITE_BIT))) return false; /* Don't touch entries that are not even readable. */ @@ -97,7 +97,7 @@ static bool can_change_shared_pte_writable(struct vm_area_struct *vma, bool can_change_pte_writable(struct vm_area_struct *vma, unsigned long addr, pte_t pte) { - if (!(vma->vm_flags & VM_SHARED)) + if (!vma_test(vma, VMA_SHARED_BIT)) return can_change_private_pte_writable(vma, addr, pte); return can_change_shared_pte_writable(vma, pte); @@ -194,7 +194,7 @@ static __always_inline void set_write_prot_commit_flush_ptes(struct vm_area_stru { bool set_write; - if (vma->vm_flags & VM_SHARED) { + if (vma_test(vma, VMA_SHARED_BIT)) { set_write = can_change_shared_pte_writable(vma, ptent); prot_commit_flush_ptes(vma, addr, ptep, oldpte, ptent, nr_ptes, /* idx = */ 0, set_write, tlb); @@ -811,8 +811,8 @@ mprotect_fixup(struct vma_iterator *vmi, struct mmu_gather *tlb, vm_unacct_memory(nrpages); /* - * Private VM_LOCKED VMA becoming writable: trigger COW to avoid major - * fault on access. + * Private VMA_LOCKED_BIT VMA becoming writable: trigger COW to avoid + * major fault on access. */ if (vma_flags_test(&new_vma_flags, VMA_WRITE_BIT) && vma_flags_test(&old_vma_flags, VMA_LOCKED_BIT) && @@ -886,7 +886,7 @@ static int do_mprotect_pkey(unsigned long start, size_t len, goto out; start = vma->vm_start; error = -EINVAL; - if (!(vma->vm_flags & VM_GROWSDOWN)) + if (!vma_test(vma, VMA_GROWSDOWN_BIT)) goto out; } else { if (vma->vm_start > start) @@ -894,7 +894,7 @@ static int do_mprotect_pkey(unsigned long start, size_t len, if (unlikely(grows & PROT_GROWSUP)) { end = vma->vm_end; error = -EINVAL; - if (!(vma->vm_flags & VM_GROWSUP)) + if (!vma_test(vma, VMA_GROWSUP_BIT)) goto out; } } @@ -918,7 +918,7 @@ static int do_mprotect_pkey(unsigned long start, size_t len, } /* Does the application expect PROT_READ to imply PROT_EXEC */ - if (rier && (vma->vm_flags & VM_MAYEXEC)) + if (rier && vma_test(vma, VMA_MAYEXEC_BIT)) prot |= PROT_EXEC; /* -- 2.54.0