From nobody Mon Dec 15 21:43:18 2025 Received: from mail-wm1-f54.google.com (mail-wm1-f54.google.com [209.85.128.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A4B29288536 for ; Wed, 7 May 2025 13:10:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746623427; cv=none; b=awkM+5ebmWcERBb8H5j39KYZVKv/yD+LxquMOjvzt6hNz2z2lif3xz9IUf5R4Bx0APEHWTf4a8XXH9rCFed/SjRLLfNq19Ztz+XAzq1iY/MHAzSjWppUhZ9FOE0Ydlp3IO3UOURz/GIlg+39f13MNggnB9Ye93mk651s/2WbmSU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746623427; c=relaxed/simple; bh=1HoIK1dob/FCUr/9gIAYkb91WZQksbFf+J0PqJUCxhY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=hX2PNLWniEJtbVBvr82R0lFub2aUUVEt9mgSxFwc5oFor3VrWC4jSh3YJScMT2jCsHYFX1NRf528OkxsHMRB6dq7xYMlFakIA9cjygGNYOJAZqe7WPtyHoTZl29IFZ68jtQ+qz2hB6Dw70kygSoWPy9iLQBDNTR3xxAsRPlWYkI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org; spf=pass smtp.mailfrom=chromium.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b=E0vBkxbR; arc=none smtp.client-ip=209.85.128.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=chromium.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b="E0vBkxbR" Received: by mail-wm1-f54.google.com with SMTP id 5b1f17b1804b1-43cf7c2c351so5667725e9.0 for ; Wed, 07 May 2025 06:10:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1746623424; x=1747228224; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=7Y9rpyN4yLEJrlewSRVGRCn2URs38bBszmjv7HdQYkM=; b=E0vBkxbRG4dE/EO9JMUkEjc3EFu+iWH9pJmXKOLlputPBKV3zo/I1ies/bqW+7ktlE lVqdc2WGv2vNTKC43RoSsJHQgq8K/BHAkWMJEHmb9QKE+maXo7B9Nj7hy4eDn+iHbopY +FfMXyLvoJAz+eBke2Fd5QNYAXhJ+Z1/jsjL4= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746623424; x=1747228224; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=7Y9rpyN4yLEJrlewSRVGRCn2URs38bBszmjv7HdQYkM=; b=j9zr+cfcxOuzpDOXkJDrAByIeuRmcOOkYVHrvgZE3o+HAyMoX8nuyIOg6TSBIbYBn8 go7hgS8Y5xSHlmBHYWHxyy0fX3G4GVhMUx4XO/3qBE8+TYRiVIHM6Ou3euOzzvi6soPj u89tQRzkS2QJWpBVA2VMqJoWVojBC3mlSEtMH8JsqC3eUzWnuTxUp9zVqDPbjSykReae 3AkxsUxBH2HNL/ZCNGnzAS6ANf6fMOHCWcvauClStbokvWqgu6SsY90Ekqtf5yrdOzv/ 0R+pqI9lvFVZjyPJ4Wudj/kzqtohLgM1/VGU3CKZI5BmJUpfRp5Y9sRxvM8iGht06asP DALA== X-Forwarded-Encrypted: i=1; AJvYcCXOUUD3XU9OG2qFSKldbjrqORgIAfPiW6AQxWbQ95cXOD2B+PtkwolV8Hc8Lm4t1qajJYUHOZREEbZ+q4I=@vger.kernel.org X-Gm-Message-State: AOJu0YznoLbrteYKzYvsUbRbuXPHTzZwayM3/3AfOdFE6TlAIQxojOHt KmZtCyVeYv8R6qYvLAFwlsp8jdrokcOPN4j4i9PZCRJHb48raq4foIKGdK80eTHZzqtUtvFhURH kcw== X-Gm-Gg: ASbGnctREZb4IZ34OT301xnHDmxH4BTWJ23492NAv2VvY+6uFASucyXcNW8oW/X4EzH +dkdj+lHjeP4pRMsFZ3gR5652ciadZUoJ3Jg6Lviz+PJ5vlj46wYUnpDr9De/U+Rps4DNDJurT/ t9LefDTkqaT4VYLTtydkIdbE8uWLc4BJFqKbSmLVsa5lO04B2FMix6BzfAG4eOOvv5TR1pvvgwQ 21guvkSJ5C0+6U8baoe2Hu5xhzni/GWNJyj6zuv4mh48dv9jZOXGBIZUiZahzbvvVGh3idxo2ue E6Z15Qr9gJX/B4zZ0DY5pikRvOAZslEDIPP5L+yR2hY71ERUaZaqQJNQ X-Google-Smtp-Source: AGHT+IGAHrJrwAiLSC3RwdUM1dYZaf33fAuwlrAULQijJUqxqu70I8Scjch/eI8CbDwOeg7SeJPHZw== X-Received: by 2002:a05:600c:4ecc:b0:439:9fde:da76 with SMTP id 5b1f17b1804b1-441d448cab2mr10128165e9.0.1746623423817; Wed, 07 May 2025 06:10:23 -0700 (PDT) Received: from revest.zrh.corp.google.com ([2a00:79e0:9d:6:558d:e1fb:c2ec:7513]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-442cd32adcasm647435e9.6.2025.05.07.06.10.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 07 May 2025 06:10:23 -0700 (PDT) From: Florent Revest To: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org Cc: catalin.marinas@arm.com, will@kernel.org, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com, akpm@linux-foundation.org, broonie@kernel.org, thiago.bauermann@linaro.org, jackmanb@google.com, Florent Revest , stable@vger.kernel.org Subject: [PATCH v2 1/4] mm: fix VM_UFFD_MINOR == VM_SHADOW_STACK on USERFAULTFD=y && ARM64_GCS=y Date: Wed, 7 May 2025 15:09:57 +0200 Message-ID: <20250507131000.1204175-2-revest@chromium.org> X-Mailer: git-send-email 2.49.0.987.g0cc8ee98dc-goog In-Reply-To: <20250507131000.1204175-1-revest@chromium.org> References: <20250507131000.1204175-1-revest@chromium.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" On configs with CONFIG_ARM64_GCS=3Dy, VM_SHADOW_STACK is bit 38. On configs with CONFIG_HAVE_ARCH_USERFAULTFD_MINOR=3Dy (selected by CONFIG_ARM64 when CONFIG_USERFAULTFD=3Dy), VM_UFFD_MINOR is _also_ bit 38. This bit being shared by two different VMA flags could lead to all sorts of unintended behaviors. Presumably, a process could maybe call into userfaultfd in a way that disables the shadow stack vma flag. I can't think of any attack where this would help (presumably, if an attacker tries to disable shadow stacks, they are trying to hijack control flow so can't arbitrarily call into userfaultfd yet anyway) but this still feels somewhat scary. Reviewed-by: Mark Brown Fixes: ae80e1629aea ("mm: Define VM_SHADOW_STACK for arm64 when we support = GCS") Cc: Signed-off-by: Florent Revest --- include/linux/mm.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/linux/mm.h b/include/linux/mm.h index bf55206935c46..fdda6b16263b3 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -385,7 +385,7 @@ extern unsigned int kobjsize(const void *objp); #endif =20 #ifdef CONFIG_HAVE_ARCH_USERFAULTFD_MINOR -# define VM_UFFD_MINOR_BIT 38 +# define VM_UFFD_MINOR_BIT 41 # define VM_UFFD_MINOR BIT(VM_UFFD_MINOR_BIT) /* UFFD minor faults */ #else /* !CONFIG_HAVE_ARCH_USERFAULTFD_MINOR */ # define VM_UFFD_MINOR VM_NONE --=20 2.49.0.987.g0cc8ee98dc-goog From nobody Mon Dec 15 21:43:18 2025 Received: from mail-wm1-f45.google.com (mail-wm1-f45.google.com [209.85.128.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6911A288C28 for ; Wed, 7 May 2025 13:10:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746623428; cv=none; b=DL6V4pVh1U7g4KBYjDZgjeF9pc90B01EGIMTaTaA8rdLAO0M+9NSRC4Ut6sLT22oCbUlHkySvW4ZFfctaS2EX5WmvuN1lKAr/jK7PHEL8o0u8pyMBJmXhUDJHaluju+rZg/JDe5Fi3yGV5zxHRxrcTPg3QLQGgN1/dcF8B/ULEY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746623428; c=relaxed/simple; bh=YF1vIiH/qOVYzV937TzGqNitr/Wij5jIw0YiTEHw5Lk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=O5CgjiS3kEdfOo4wC5xwDKSP8EFVLj0DdVLHhflJuFZIGh5oaBzV89Gia+m17jPgba8kvtb4+/Bg9Dc4Xa0mQARIZzdjg5jvixsTviIbEF/LGumym4JIgwUybFV9acujbmf9iORRmEiTsM/Vl9gqI7XjevdWRaglei0hrsKEn0k= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org; spf=pass smtp.mailfrom=chromium.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b=mlTsqZt6; arc=none smtp.client-ip=209.85.128.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=chromium.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b="mlTsqZt6" Received: by mail-wm1-f45.google.com with SMTP id 5b1f17b1804b1-43d16a01deaso6352335e9.2 for ; Wed, 07 May 2025 06:10:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1746623425; x=1747228225; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=lC+ktlKoRWuVQ406Z311foD+S65DvOr4KvPAMwhmT4Q=; b=mlTsqZt69p/fvhvApfk1tZlrydOSfrOtI+mrTj8i1lbEQ5uTdtt2U1RcL4eis6g8ho kuuZg4guRdn1Yw3DW+tYUK7FfZ2EiQJiGQXr9fvhK+qyL+Zln+o+HT3Kq+hNVV1RXjEI YD7GSqnKlYBSy3oEuvZnKRZnzyGfCNRf1y6T0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746623425; x=1747228225; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=lC+ktlKoRWuVQ406Z311foD+S65DvOr4KvPAMwhmT4Q=; b=Ffv/hDhlwB+1ERy2ZeYXMhLNxEbU+z+WAyVweTOu41tqUwejRQybBx44STkN88x7o2 +qEQLGPGzDGP8q9WoG/rkakXzOJGeOKAp3It4cgPjQ3DBBSic1M7Bkh/z0ILqTQ3mUSJ yN+QX1nd0skXbvKXGa2ujweNhzt8JkqufjEwF9KVrJ+H63Qv05TOldLIKzFBg7kd0f75 X96/pl4AmDMtNTo/3HVCVkghrPbLS7TZHvLC7ir6P1gCRFXOtMV2dH6wsKLpWYBISkbi LJkfyfEY2cVGtDQgF8CLyj5hnzVGp/+/3WqECuZUJcw8yKreNa7lk0NO/e78BFW+t7zo pHbg== X-Forwarded-Encrypted: i=1; AJvYcCV29FRH0ML0i3gKJzYME0LkD2yk5B5PTC9JJBenkYoey6q3fiWaeEdNDaqzOmkIJsNONovw8VDobmSfNeE=@vger.kernel.org X-Gm-Message-State: AOJu0YyE9oNPVialXi21gOWmK+aH95ofsWuNBbS93qHKl6xingk6+Un6 zvwJ54BOWtRK6KrubIBOxl/m10aZDZXItBM67vXQFAjAyHy0l7i7Y9/NPgq2VTsUOz7/NPNJ7CL zvg== X-Gm-Gg: ASbGncsiFgjmujhHlV6qt1Lj1rJapvk+vhpBG3/Qu0E1x/na7j8DhP9Zl2vCCT17sxQ DRWlE6X+JXzdLF5Bxqzj8VTO/oau7X363h5AKq0A01Hgityfg1l7c4Ue17jj+TRXE1zQQNwWNy0 g3m1efgwNwmLqNxtVaOYhWnB7JtluV75FWdjKnjfzJGElRFmb0lL6Mf4FpCLQeWOA0fFMDBSDmx 9koAih/r3UjCfMvXYzy5F/cs/z2akB5ypT4oUjZXZv0p7+oLlHh6QkX5IwbMGoeo6LsfMkU7JZ5 Uy3d7tJKy20NMDPgrT5dklNLAfwTob3/zWbfJ7Jk7g3kheUa6AfzzdRi X-Google-Smtp-Source: AGHT+IHfIoz1B8ERUft6e6R9XHeFEZYHizVLysz1ooqXs2VtmpBSdGwrsOUK5GBUxOo0UEdbIamAwA== X-Received: by 2002:a05:600c:cca:b0:439:a3df:66f3 with SMTP id 5b1f17b1804b1-441d44e57d6mr10555525e9.6.1746623424618; Wed, 07 May 2025 06:10:24 -0700 (PDT) Received: from revest.zrh.corp.google.com ([2a00:79e0:9d:6:558d:e1fb:c2ec:7513]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-442cd32adcasm647435e9.6.2025.05.07.06.10.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 07 May 2025 06:10:24 -0700 (PDT) From: Florent Revest To: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org Cc: catalin.marinas@arm.com, will@kernel.org, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com, akpm@linux-foundation.org, broonie@kernel.org, thiago.bauermann@linaro.org, jackmanb@google.com, Florent Revest Subject: [PATCH v2 2/4] mm: remove CONFIG_ARCH_USES_HIGH_VMA_FLAGS Date: Wed, 7 May 2025 15:09:58 +0200 Message-ID: <20250507131000.1204175-3-revest@chromium.org> X-Mailer: git-send-email 2.49.0.987.g0cc8ee98dc-goog In-Reply-To: <20250507131000.1204175-1-revest@chromium.org> References: <20250507131000.1204175-1-revest@chromium.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Over the years, include/linux/mm.h has grown to use high VMA flags bits in various ways. Some usages, like mseal(), are guarded by CONFIG_64BIT while others like CONFIG_ARM64_MTE select CONFIG_ARCH_USES_HIGH_VMA_FLAGS and depend on the VM_HIGH_ARCH* macros that are guarded by that config. Since CONFIG_ARCH_USES_HIGH_VMA_FLAGS only guards bit mask definitions, it is safe to use on any CONFIG_64BIT config. Additionally, since all configs that currently select CONFIG_ARCH_USES_HIGH_VMA_FLAGS depend on CONFIG_64BIT, there should be no regressions. Signed-off-by: Florent Revest --- arch/arm64/Kconfig | 3 --- arch/powerpc/Kconfig | 1 - arch/x86/Kconfig | 2 -- include/linux/mm.h | 4 ++-- mm/Kconfig | 2 -- 5 files changed, 2 insertions(+), 10 deletions(-) diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig index a182295e6f08b..2a0d45b16b7fd 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig @@ -2149,7 +2149,6 @@ config ARM64_MTE # Required for tag checking in the uaccess routines select ARM64_PAN select ARCH_HAS_SUBPAGE_FAULTS - select ARCH_USES_HIGH_VMA_FLAGS select ARCH_USES_PG_ARCH_2 select ARCH_USES_PG_ARCH_3 help @@ -2196,7 +2195,6 @@ menu "ARMv8.9 architectural features" config ARM64_POE prompt "Permission Overlay Extension" def_bool y - select ARCH_USES_HIGH_VMA_FLAGS select ARCH_HAS_PKEYS help The Permission Overlay Extension is used to implement Memory @@ -2235,7 +2233,6 @@ config ARM64_GCS bool "Enable support for Guarded Control Stack (GCS)" default y select ARCH_HAS_USER_SHADOW_STACK - select ARCH_USES_HIGH_VMA_FLAGS depends on !UPROBES help Guarded Control Stack (GCS) provides support for a separate diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index 6722625a406a0..e444191206b32 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig @@ -1043,7 +1043,6 @@ config PPC_MEM_KEYS def_bool y depends on PPC_BOOK3S_64 depends on PPC_64S_HASH_MMU - select ARCH_USES_HIGH_VMA_FLAGS select ARCH_HAS_PKEYS help Memory Protection Keys provides a mechanism for enforcing diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 4b9f378e05f6b..e74ba77a066e6 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -1818,7 +1818,6 @@ config X86_INTEL_MEMORY_PROTECTION_KEYS def_bool y # Note: only available in 64-bit mode depends on X86_64 && (CPU_SUP_INTEL || CPU_SUP_AMD) - select ARCH_USES_HIGH_VMA_FLAGS select ARCH_HAS_PKEYS help Memory Protection Keys provides a mechanism for enforcing @@ -1900,7 +1899,6 @@ config X86_USER_SHADOW_STACK bool "X86 userspace shadow stack" depends on AS_WRUSS depends on X86_64 - select ARCH_USES_HIGH_VMA_FLAGS select ARCH_HAS_USER_SHADOW_STACK select X86_CET help diff --git a/include/linux/mm.h b/include/linux/mm.h index fdda6b16263b3..da8f99a026deb 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -297,7 +297,7 @@ extern unsigned int kobjsize(const void *objp); #define VM_NOHUGEPAGE 0x40000000 /* MADV_NOHUGEPAGE marked this vma */ #define VM_MERGEABLE 0x80000000 /* KSM may merge identical pages */ =20 -#ifdef CONFIG_ARCH_USES_HIGH_VMA_FLAGS +#ifdef CONFIG_64BIT #define VM_HIGH_ARCH_BIT_0 32 /* bit only usable on 64-bit architectures */ #define VM_HIGH_ARCH_BIT_1 33 /* bit only usable on 64-bit architectures */ #define VM_HIGH_ARCH_BIT_2 34 /* bit only usable on 64-bit architectures */ @@ -312,7 +312,7 @@ extern unsigned int kobjsize(const void *objp); #define VM_HIGH_ARCH_4 BIT(VM_HIGH_ARCH_BIT_4) #define VM_HIGH_ARCH_5 BIT(VM_HIGH_ARCH_BIT_5) #define VM_HIGH_ARCH_6 BIT(VM_HIGH_ARCH_BIT_6) -#endif /* CONFIG_ARCH_USES_HIGH_VMA_FLAGS */ +#endif /* CONFIG_64BIT */ =20 #ifdef CONFIG_ARCH_HAS_PKEYS # define VM_PKEY_SHIFT VM_HIGH_ARCH_BIT_0 diff --git a/mm/Kconfig b/mm/Kconfig index e113f713b4938..1fff7f8bfa96f 100644 --- a/mm/Kconfig +++ b/mm/Kconfig @@ -1127,8 +1127,6 @@ config DEVICE_PRIVATE config VMAP_PFN bool =20 -config ARCH_USES_HIGH_VMA_FLAGS - bool config ARCH_HAS_PKEYS bool =20 --=20 2.49.0.987.g0cc8ee98dc-goog From nobody Mon Dec 15 21:43:18 2025 Received: from mail-wm1-f47.google.com (mail-wm1-f47.google.com [209.85.128.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 27472288C16 for ; Wed, 7 May 2025 13:10:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746623430; cv=none; b=fuGv7pMeYU0npFArMBY05w+t9GAKyUstGff0qPIK2A7n4N5d8YHfpiv/MLyu5IZWlPWSt5ePT6X3ZwYhJtHUibPgzLa4MBBsrMZg07J6bTKU19NoJa8Sx9g8pKqBhL655KwH2tg2Z2JAGlb7qsjU1Edi2XY6ZHgx7P8Eh8gmlLY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746623430; c=relaxed/simple; bh=lA1JmPEoVegiUw3C87TvPGhLFtXGyWz6ko8VMqECCsw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Ng3gGw/kTVxWBZ0VI3vslRYqaAaJq8YjWjFO3v+R51i9dYZWgaNFoFpntNu0xzWeGT88R5DVBFeVAjwDecHCYl2W5Sf1U+mUkrPdQskq4OyTJY8nW9jBJdKILT8sjOINBneWChpMIk5tycx9YF02/wGwD+McTpZJOmthyQk53fY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org; spf=pass smtp.mailfrom=chromium.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b=lecOil88; arc=none smtp.client-ip=209.85.128.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=chromium.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b="lecOil88" Received: by mail-wm1-f47.google.com with SMTP id 5b1f17b1804b1-43d16a01deaso6352375e9.2 for ; Wed, 07 May 2025 06:10:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1746623426; x=1747228226; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=kRtiFa3E3rYiWsT4spswVI90f+55TGqnRsyWDvt/R9s=; b=lecOil88e3ZUmmq8U52LRofANotT+BxiNp8Ewh1LPgin1XrbD1atqFZGjkZJvNRTdS QYbuaQkhu4Jk2eQKSVvFqKbBbt70du3HAb56jbusMdDsMXRb9byel7KR2l6+utWVs0JW 6VPpqvifInKK1YVBxJ8HtgKR7FKPF+l/qlync= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746623426; x=1747228226; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=kRtiFa3E3rYiWsT4spswVI90f+55TGqnRsyWDvt/R9s=; b=M/zmM+6IdhSioSjBstiT7DyfYhFu4DjOAixujU1HzkDAnxZ1MuRZvjo1wPUhA2pLPQ XoHAa6iwahFSETxicwBPax6l0xIpvA98jQzkYbAkXTaXHqDeZshdKhEjg68PXFOTzdrn BW8OypOwrdOyFUVZ8rMKdfHBw9DmlxfqWkn6h3LwhJPP4YcofYwb+czfgHzt0UJJWRf5 pTXRdXSXS5goXVSMwRMnjtNGxq6ADyL5mbefVNpqnImAWvG5GI8WlElzUUkL77DbMDuf 0MfBs3HvlNuD4LgI8z84OmoBGkXpQOg+pwjzmOiJdaCY4DOp2fXxH0uj0qYDlZ6qSoGF Rvzw== X-Forwarded-Encrypted: i=1; AJvYcCUJ3lOiZV+7d2bIzrD/YdNNiWWz2Q1zdU2rO+Ngwh7YButuAQ4D6Pcn+LGTnyEB9sjfNJjXuSdYiXL6Wig=@vger.kernel.org X-Gm-Message-State: AOJu0YyDyHZt3YMt65kk6LDv0QdQxhxh/dCUbyXaud1yu20fscyCDWi8 oKk8L3ZguqHF66FOC+7EsZBGW0i4SDH+EQhBC094pgpGgM0PstSf4pm/h/kCgg== X-Gm-Gg: ASbGnctk231czjGyAwZ5/GDkV6db2Aunxz4TYcm5P+1Iq6Ik6PHPdIo+ilfiPGvirjz K/errGoG5nXk0mJhzhrBsfxxIcLD6vCr/M5e+JLd0Qt1fJQNeeKRkHFclxAoxeWNuSreoKAkkvK TDzhRFsJZyRa0XnEmPF/mrqCd+Mr1VCqm2zK1Ipja5hl5FEgJL21NcI6M+vV6yyJ06ZdsPO0esr kR64Aw9Eemlb4VQG48dLqeXMv39MGXtBzcIqQWcoM++bSeW+D0A6vTUaIYV26m7fEUartofXYex OzrhYYQkeZtzS+92nRBW5zCHQ4+71OcVdO4nHWfjLS8yBRyKDqpK6s1tqZEUV5VUJo0= X-Google-Smtp-Source: AGHT+IEkfIUkSWwoMahO6sAWL+HQVuKxqSNR1F791+ucIG23d1nTuEaaK/HEHbufmrKGP/mYe+538A== X-Received: by 2002:a05:600c:cca:b0:439:a3df:66f3 with SMTP id 5b1f17b1804b1-441d44e57d6mr10556235e9.6.1746623426384; Wed, 07 May 2025 06:10:26 -0700 (PDT) Received: from revest.zrh.corp.google.com ([2a00:79e0:9d:6:558d:e1fb:c2ec:7513]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-442cd32adcasm647435e9.6.2025.05.07.06.10.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 07 May 2025 06:10:26 -0700 (PDT) From: Florent Revest To: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org Cc: catalin.marinas@arm.com, will@kernel.org, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com, akpm@linux-foundation.org, broonie@kernel.org, thiago.bauermann@linaro.org, jackmanb@google.com, Florent Revest Subject: [PATCH v2 3/4] mm: use VM_HIGH_ARCH_* macros consistently Date: Wed, 7 May 2025 15:09:59 +0200 Message-ID: <20250507131000.1204175-4-revest@chromium.org> X-Mailer: git-send-email 2.49.0.987.g0cc8ee98dc-goog In-Reply-To: <20250507131000.1204175-1-revest@chromium.org> References: <20250507131000.1204175-1-revest@chromium.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Currently, some high vma flag bits are defined using VM_HIGH_ARCH_* helper macros but others are not. Use the macros consistently so it's easier to spot which ones are used/free. To keep the VMA flags space easier to read and think about, VM_SEALED is also shifted down from a very high bit (63rd) to a lower one (42nd). Signed-off-by: Florent Revest --- include/linux/mm.h | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/include/linux/mm.h b/include/linux/mm.h index da8f99a026deb..b12549f0a6dce 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -305,6 +305,10 @@ extern unsigned int kobjsize(const void *objp); #define VM_HIGH_ARCH_BIT_4 36 /* bit only usable on 64-bit architectures */ #define VM_HIGH_ARCH_BIT_5 37 /* bit only usable on 64-bit architectures */ #define VM_HIGH_ARCH_BIT_6 38 /* bit only usable on 64-bit architectures */ +#define VM_HIGH_ARCH_BIT_7 39 /* bit only usable on 64-bit architectures */ +#define VM_HIGH_ARCH_BIT_8 40 /* bit only usable on 64-bit architectures */ +#define VM_HIGH_ARCH_BIT_9 41 /* bit only usable on 64-bit architectures */ +#define VM_HIGH_ARCH_BIT_10 42 /* bit only usable on 64-bit architectures = */ #define VM_HIGH_ARCH_0 BIT(VM_HIGH_ARCH_BIT_0) #define VM_HIGH_ARCH_1 BIT(VM_HIGH_ARCH_BIT_1) #define VM_HIGH_ARCH_2 BIT(VM_HIGH_ARCH_BIT_2) @@ -312,6 +316,10 @@ extern unsigned int kobjsize(const void *objp); #define VM_HIGH_ARCH_4 BIT(VM_HIGH_ARCH_BIT_4) #define VM_HIGH_ARCH_5 BIT(VM_HIGH_ARCH_BIT_5) #define VM_HIGH_ARCH_6 BIT(VM_HIGH_ARCH_BIT_6) +#define VM_HIGH_ARCH_7 BIT(VM_HIGH_ARCH_BIT_7) +#define VM_HIGH_ARCH_8 BIT(VM_HIGH_ARCH_BIT_8) +#define VM_HIGH_ARCH_9 BIT(VM_HIGH_ARCH_BIT_9) +#define VM_HIGH_ARCH_10 BIT(VM_HIGH_ARCH_BIT_10) #endif /* CONFIG_64BIT */ =20 #ifdef CONFIG_ARCH_HAS_PKEYS @@ -385,8 +393,7 @@ extern unsigned int kobjsize(const void *objp); #endif =20 #ifdef CONFIG_HAVE_ARCH_USERFAULTFD_MINOR -# define VM_UFFD_MINOR_BIT 41 -# define VM_UFFD_MINOR BIT(VM_UFFD_MINOR_BIT) /* UFFD minor faults */ +# define VM_UFFD_MINOR VM_HIGH_ARCH_9 /* UFFD minor faults */ #else /* !CONFIG_HAVE_ARCH_USERFAULTFD_MINOR */ # define VM_UFFD_MINOR VM_NONE #endif /* CONFIG_HAVE_ARCH_USERFAULTFD_MINOR */ @@ -399,15 +406,13 @@ extern unsigned int kobjsize(const void *objp); * if KVM does not lock down the memory type. */ #ifdef CONFIG_64BIT -#define VM_ALLOW_ANY_UNCACHED_BIT 39 -#define VM_ALLOW_ANY_UNCACHED BIT(VM_ALLOW_ANY_UNCACHED_BIT) +#define VM_ALLOW_ANY_UNCACHED VM_HIGH_ARCH_7 #else #define VM_ALLOW_ANY_UNCACHED VM_NONE #endif =20 #ifdef CONFIG_64BIT -#define VM_DROPPABLE_BIT 40 -#define VM_DROPPABLE BIT(VM_DROPPABLE_BIT) +#define VM_DROPPABLE VM_HIGH_ARCH_8 #elif defined(CONFIG_PPC32) #define VM_DROPPABLE VM_ARCH_1 #else @@ -416,7 +421,7 @@ extern unsigned int kobjsize(const void *objp); =20 #ifdef CONFIG_64BIT /* VM is sealed, in vm_flags */ -#define VM_SEALED _BITUL(63) +#define VM_SEALED VM_HIGH_ARCH_10 #endif =20 /* Bits set in the VMA until the stack is in its final location */ --=20 2.49.0.987.g0cc8ee98dc-goog From nobody Mon Dec 15 21:43:18 2025 Received: from mail-wm1-f53.google.com (mail-wm1-f53.google.com [209.85.128.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 019CE28A1E3 for ; Wed, 7 May 2025 13:10:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746623431; cv=none; b=HooG7nkfNiryaYqbBHltWGZuHfyOifYIS0TpWtE0NTV9wORQYVXOrxrt5pUiU0t1fBa6JILdK2Fuq3C/Wt8JdpgILb6tlTtPPezqa07fftPXiXhBsAaEa8dA3P5D1HlFnc02BYydF/dpNOHJUDTF+Leqwd69J3CfzNyINVTDrzs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746623431; c=relaxed/simple; bh=6oaz6WNMnyB1I2YwJHBELbK6HcLsWp3MdBi8+Vr6HRk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=mRo49x6Z+ljQDKx6AdAv4C5MpIhLpBIJyLHcrKGcVdCb/VnsTLdNeqqPGWF4V3mKuS9L0jmDn8lZzT+T34hVGzC9hNOJsL3fEn3VNAL4Wk7yM89FPkKniHkaRGf/2PZeoMwablmGav4UbIjvrDHe6Kj3T1RZSfVr4hzV8IEu/j8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org; spf=pass smtp.mailfrom=chromium.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b=AGVhOKpB; arc=none smtp.client-ip=209.85.128.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=chromium.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b="AGVhOKpB" Received: by mail-wm1-f53.google.com with SMTP id 5b1f17b1804b1-43e9ccaa1ebso8650875e9.1 for ; Wed, 07 May 2025 06:10:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1746623428; x=1747228228; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=SFFedIQoVt5THh/dDr0azukH/sRWNDMHFAQOWykjhMU=; b=AGVhOKpBPFPzROy/rDfXeemUJzYb2bIGslIMboEvi9aYS1etvUbGN1SLD7sN3hNdXY cGc8lJKhVmn1R84Oc9UHDrHidW8+i+WFqy3Yhwf2wuZ4PafclgHWe1rlwe/OqYBk6SpZ HIlCDC/fjqir2eOo2cRdGDV0/auOoPO2a5mjo= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746623428; x=1747228228; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=SFFedIQoVt5THh/dDr0azukH/sRWNDMHFAQOWykjhMU=; b=lRMLinqZ0FSGq4lhntK9xNlIv4cMj9nYTPWdlK0lRHtp7kJ21Xt/NRgC6zqffQ1mzj R72llLRQDSJ5hLvE5gE2ZFEaMpyKgB4bFUZroZTy9clm7hgyu+CFGAwkq5xGYXvAp1qU beqe6v8a/2yT8nytqn2MBQCtJg0yo3H7iImwbd0W94GrQWreSeolXO3eXjDonhHew3qU m/204eXvHVZme690ENVye/Oapd7N5jBvI4JuIIIRKoyk3jo5nNvoiSR3K3UAVThh+aao 51G4gEIkZGq7ciUNmLuQ6gYY3O6nyeWAffhw8HJZ220fHz1uImxkPyt4M88hU9dB7qBk Pm4w== X-Forwarded-Encrypted: i=1; AJvYcCWg8A5cLIERG1N8oxrH1b2+K9xvgStv1t8ch7NaF0Rq24Ei4dLxx8usuWYqYdjG+F4djk23A7KCnfwVvxo=@vger.kernel.org X-Gm-Message-State: AOJu0Yzgh8Nth7NrUjLxaYjDP3mae3XUkmaYm5+pXSJGcQIAHlvd/F1L 6vrz5BLEPMkkl//oALxbtz3E+IuPdFmzVpHQNfQ57qa4zLOFGVw2XXZKJKRVDA== X-Gm-Gg: ASbGncuzNsNt2hk/kEv2vx80ykH3g1qIla6EWiI6yxtpckqtKjtciHhj5W+XdbgY/Uo 8rOCdHlH6mzsYYRd8U4vYCnuTa0Ra+JkAqNutqlFAmlt5TtrNtR/2BhFOD5QQ4iuMTXpoI41CzC oAqNc37UHjZ9ZuVhtYpYqszm85oKpAKJ3XqU/ilomr1ml/AoNsLqLszzSLLbNifmtcBjBFj1A2G k1Rrw95VeMw2TPtnY3G4/WgoTsrE+OuwCuejHSJZyc7gy9fchMrEEarUt5x5mpV1DHkauvtCgna Zqxc3QcnAJdy6+y0ZFlmbU4AMIurvIvL9Wkuqsf3Pxs1K1dqTg8/VLjv X-Google-Smtp-Source: AGHT+IElR75OEHwMKC4gYQ5ikVeEAK7dbCSsz3voaw3tMaHSvQvvHy+t/om+lnqAq9lqYbAjHGVGzw== X-Received: by 2002:a05:600c:1ca3:b0:439:94f8:fc7b with SMTP id 5b1f17b1804b1-441d448b936mr9664875e9.0.1746623428057; Wed, 07 May 2025 06:10:28 -0700 (PDT) Received: from revest.zrh.corp.google.com ([2a00:79e0:9d:6:558d:e1fb:c2ec:7513]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-442cd32adcasm647435e9.6.2025.05.07.06.10.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 07 May 2025 06:10:27 -0700 (PDT) From: Florent Revest To: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org Cc: catalin.marinas@arm.com, will@kernel.org, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com, akpm@linux-foundation.org, broonie@kernel.org, thiago.bauermann@linaro.org, jackmanb@google.com, Florent Revest Subject: [PATCH v2 4/4] mm: consolidate VM_HIGH_ARCH_* macros into parametric macros Date: Wed, 7 May 2025 15:10:00 +0200 Message-ID: <20250507131000.1204175-5-revest@chromium.org> X-Mailer: git-send-email 2.49.0.987.g0cc8ee98dc-goog In-Reply-To: <20250507131000.1204175-1-revest@chromium.org> References: <20250507131000.1204175-1-revest@chromium.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" This reduces code duplication and chances of mistakes. Signed-off-by: Florent Revest --- include/linux/mm.h | 52 ++++++++++++++-------------------------------- 1 file changed, 16 insertions(+), 36 deletions(-) diff --git a/include/linux/mm.h b/include/linux/mm.h index b12549f0a6dce..a53394d928585 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -298,42 +298,22 @@ extern unsigned int kobjsize(const void *objp); #define VM_MERGEABLE 0x80000000 /* KSM may merge identical pages */ =20 #ifdef CONFIG_64BIT -#define VM_HIGH_ARCH_BIT_0 32 /* bit only usable on 64-bit architectures */ -#define VM_HIGH_ARCH_BIT_1 33 /* bit only usable on 64-bit architectures */ -#define VM_HIGH_ARCH_BIT_2 34 /* bit only usable on 64-bit architectures */ -#define VM_HIGH_ARCH_BIT_3 35 /* bit only usable on 64-bit architectures */ -#define VM_HIGH_ARCH_BIT_4 36 /* bit only usable on 64-bit architectures */ -#define VM_HIGH_ARCH_BIT_5 37 /* bit only usable on 64-bit architectures */ -#define VM_HIGH_ARCH_BIT_6 38 /* bit only usable on 64-bit architectures */ -#define VM_HIGH_ARCH_BIT_7 39 /* bit only usable on 64-bit architectures */ -#define VM_HIGH_ARCH_BIT_8 40 /* bit only usable on 64-bit architectures */ -#define VM_HIGH_ARCH_BIT_9 41 /* bit only usable on 64-bit architectures */ -#define VM_HIGH_ARCH_BIT_10 42 /* bit only usable on 64-bit architectures = */ -#define VM_HIGH_ARCH_0 BIT(VM_HIGH_ARCH_BIT_0) -#define VM_HIGH_ARCH_1 BIT(VM_HIGH_ARCH_BIT_1) -#define VM_HIGH_ARCH_2 BIT(VM_HIGH_ARCH_BIT_2) -#define VM_HIGH_ARCH_3 BIT(VM_HIGH_ARCH_BIT_3) -#define VM_HIGH_ARCH_4 BIT(VM_HIGH_ARCH_BIT_4) -#define VM_HIGH_ARCH_5 BIT(VM_HIGH_ARCH_BIT_5) -#define VM_HIGH_ARCH_6 BIT(VM_HIGH_ARCH_BIT_6) -#define VM_HIGH_ARCH_7 BIT(VM_HIGH_ARCH_BIT_7) -#define VM_HIGH_ARCH_8 BIT(VM_HIGH_ARCH_BIT_8) -#define VM_HIGH_ARCH_9 BIT(VM_HIGH_ARCH_BIT_9) -#define VM_HIGH_ARCH_10 BIT(VM_HIGH_ARCH_BIT_10) +#define VM_HIGH_ARCH_BIT(i) (32+i) /* bit only usable on 64-bit architectu= res */ +#define VM_HIGH_ARCH(i) BIT(VM_HIGH_ARCH_BIT(i)) #endif /* CONFIG_64BIT */ =20 #ifdef CONFIG_ARCH_HAS_PKEYS -# define VM_PKEY_SHIFT VM_HIGH_ARCH_BIT_0 -# define VM_PKEY_BIT0 VM_HIGH_ARCH_0 -# define VM_PKEY_BIT1 VM_HIGH_ARCH_1 -# define VM_PKEY_BIT2 VM_HIGH_ARCH_2 +# define VM_PKEY_SHIFT VM_HIGH_ARCH_BIT(0) +# define VM_PKEY_BIT0 VM_HIGH_ARCH(0) +# define VM_PKEY_BIT1 VM_HIGH_ARCH(1) +# define VM_PKEY_BIT2 VM_HIGH_ARCH(2) #if CONFIG_ARCH_PKEY_BITS > 3 -# define VM_PKEY_BIT3 VM_HIGH_ARCH_3 +# define VM_PKEY_BIT3 VM_HIGH_ARCH(3) #else # define VM_PKEY_BIT3 0 #endif #if CONFIG_ARCH_PKEY_BITS > 4 -# define VM_PKEY_BIT4 VM_HIGH_ARCH_4 +# define VM_PKEY_BIT4 VM_HIGH_ARCH(4) #else # define VM_PKEY_BIT4 0 #endif @@ -349,7 +329,7 @@ extern unsigned int kobjsize(const void *objp); * (x86). See the comments near alloc_shstk() in arch/x86/kernel/shstk.c * for more details on the guard size. */ -# define VM_SHADOW_STACK VM_HIGH_ARCH_5 +# define VM_SHADOW_STACK VM_HIGH_ARCH(5) #endif =20 #if defined(CONFIG_ARM64_GCS) @@ -357,7 +337,7 @@ extern unsigned int kobjsize(const void *objp); * arm64's Guarded Control Stack implements similar functionality and * has similar constraints to shadow stacks. */ -# define VM_SHADOW_STACK VM_HIGH_ARCH_6 +# define VM_SHADOW_STACK VM_HIGH_ARCH(6) #endif =20 #ifndef VM_SHADOW_STACK @@ -381,8 +361,8 @@ extern unsigned int kobjsize(const void *objp); #endif =20 #if defined(CONFIG_ARM64_MTE) -# define VM_MTE VM_HIGH_ARCH_4 /* Use Tagged memory for access control */ -# define VM_MTE_ALLOWED VM_HIGH_ARCH_5 /* Tagged memory permitted */ +# define VM_MTE VM_HIGH_ARCH(4) /* Use Tagged memory for access control */ +# define VM_MTE_ALLOWED VM_HIGH_ARCH(5) /* Tagged memory permitted */ #else # define VM_MTE VM_NONE # define VM_MTE_ALLOWED VM_NONE @@ -393,7 +373,7 @@ extern unsigned int kobjsize(const void *objp); #endif =20 #ifdef CONFIG_HAVE_ARCH_USERFAULTFD_MINOR -# define VM_UFFD_MINOR VM_HIGH_ARCH_9 /* UFFD minor faults */ +# define VM_UFFD_MINOR VM_HIGH_ARCH(9) /* UFFD minor faults */ #else /* !CONFIG_HAVE_ARCH_USERFAULTFD_MINOR */ # define VM_UFFD_MINOR VM_NONE #endif /* CONFIG_HAVE_ARCH_USERFAULTFD_MINOR */ @@ -406,13 +386,13 @@ extern unsigned int kobjsize(const void *objp); * if KVM does not lock down the memory type. */ #ifdef CONFIG_64BIT -#define VM_ALLOW_ANY_UNCACHED VM_HIGH_ARCH_7 +#define VM_ALLOW_ANY_UNCACHED VM_HIGH_ARCH(7) #else #define VM_ALLOW_ANY_UNCACHED VM_NONE #endif =20 #ifdef CONFIG_64BIT -#define VM_DROPPABLE VM_HIGH_ARCH_8 +#define VM_DROPPABLE VM_HIGH_ARCH(8) #elif defined(CONFIG_PPC32) #define VM_DROPPABLE VM_ARCH_1 #else @@ -421,7 +401,7 @@ extern unsigned int kobjsize(const void *objp); =20 #ifdef CONFIG_64BIT /* VM is sealed, in vm_flags */ -#define VM_SEALED VM_HIGH_ARCH_10 +#define VM_SEALED VM_HIGH_ARCH(10) #endif =20 /* Bits set in the VMA until the stack is in its final location */ --=20 2.49.0.987.g0cc8ee98dc-goog