From nobody Tue Dec 16 15:43:06 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 AC923269B08 for ; Tue, 6 May 2025 09:53:00 +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=1746525182; cv=none; b=SAMPlHGWlfzLaaEekaSsEOu6qs9Dcy7XoOFYpfz5QTzVDfY8R2DJ8vkwjfhrThImFQkyIW6ibzPcK3FUAhRAbB846CrrWWxish/is6DPc9RRSHB4Q0E4Jk00FhAOLlWtEKJcUE9c6wzYgH7zzfup3sY/LdY0ZAJ/o1YJPzfHw30= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746525182; c=relaxed/simple; bh=CbHRAffdNjucoHpZXlzmBTKwF5V0Do7COpLf3OhpD0Y=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=rZTL0IrDewlJcBJs6gaS4N0onjYgErWpcEv5bY/kOG4KjPLoLtpc7jav3rvf2x8351dGh1hxN9Etg+9469T2IWdD9RfcTSZA2jgCSH3I0aZy75eNVVbKJwjUYFx8+VI3jvt+kPGP/6acJfz7izuI2ZbQhSKyDTFbN2euLKOl3Go= 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=RXqv3cK7; 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="RXqv3cK7" Received: by mail-wm1-f54.google.com with SMTP id 5b1f17b1804b1-43cf89f81c5so5421035e9.2 for ; Tue, 06 May 2025 02:53:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1746525179; x=1747129979; 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=yhaFKze9VG1/eFCN9G58dM2RFBh4W36ZYcYCtz7qr9g=; b=RXqv3cK7rRFChYbgFdR43xbzz/tnvAGl8gWurpyzVTyR0O1qtiEd1TfWIc3Pr6pjqV 6eHAfCEZ8d8vMMQEavhveavR6khIB7Kc0gKp0g7bOZZGrC8xjMOSRqaK9hRj1F/uMCkt 3I7S8hVGdg4orYl7PVIRl026+dO5TBeZ9qOwA= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746525179; x=1747129979; 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=yhaFKze9VG1/eFCN9G58dM2RFBh4W36ZYcYCtz7qr9g=; b=JTxlGcZgspvUZcin7mtZ1tja3bvtPM3IDthgXnqWp+p1ZfF3LiChjURuW/KTCf8VLa OJxFaun/RE9FgdB17ALAD7PAJlSbdnscoFa7W45QgKiCAWHSiVeRJz70fHDAkMnP4/3g WVcmVWClDe5VbY34AqpQKRE7mmuQGAeQqtipkem8sPClJ3qK7lXcdTjrOk8vJQ/wNKDz acmDr3haV1/PzHuPSQcGaBLmafFbI7MQrbjujvzc3yNu6bymQjpmaoO9sMNT9xlm0wy3 6nYZv+gZ+/yaIpQZH2kYQxR/PkVFNsABXZF2Flq+jyUFiRXxsrQH38Ts65enfryqM3Im f8yw== X-Forwarded-Encrypted: i=1; AJvYcCWd6C+cCn29Dq56xl+/kWO4Txdo5RG/Q7aN7yIDH7dF0Te1iPJm5Kdrv8VW0KYVxLZSTAqFFK6NONnP3fQ=@vger.kernel.org X-Gm-Message-State: AOJu0Yy0Vy6Q82pMsoE3p2Ht3py2tHQpv2766qGxgcNWUzEprnIoCeQI 0wo0Qt89cWBlFFIaD+tgRGtabHepFbGiNS7RvWujuYv1n48kz9mO8ZCX90sa4g== X-Gm-Gg: ASbGncuBAclNW+oz19Vp6FnUOeuDVidxU/LhGlXHfO3NF8EsKe7Nq1bnlhlUbKixmBS aqqVnWWT2phk0KrdGbrxTcFfeKUCAIyFhZ/5kpg6cIC3gh6zn/2uSEjI2Th4WmOCrzqwKPt0/5S ge3qniz1BJ3LymXc/hPwEcXBbVfVfKnujNJ98KdkGw9pcySISbhjKpsTPrOFU7zMmTqLeaDbuj7 70FwsfCeJRCV3Y7dBHkvJOatk35QfpD9KCv9vybdf0XbuS+CcaAk4okSKGwOPzulZOAiVAAsi63 8YlEgrksMXFImNaK6XlmbvC7VoUz7xYmjxLkfUtFHLgOwWA4S5N0eJ45 X-Google-Smtp-Source: AGHT+IHeK+dFXjh9OrxfzRPfPF/LOpOuNNkj7QNpkKx/cJ7vvnj2X+5i334G41Ez0rqAejsL1kXepA== X-Received: by 2002:a05:600c:1382:b0:439:9c0e:36e6 with SMTP id 5b1f17b1804b1-441bbec38b2mr52734125e9.3.1746525178968; Tue, 06 May 2025 02:52:58 -0700 (PDT) Received: from revest.zrh.corp.google.com ([2a00:79e0:9d:6:7196:3093:b0e3:1016]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a099ae7a46sm12879860f8f.44.2025.05.06.02.52.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 06 May 2025 02:52:58 -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 1/4] mm: fix VM_UFFD_MINOR == VM_SHADOW_STACK on USERFAULTFD=y && ARM64_GCS=y Date: Tue, 6 May 2025 11:52:21 +0200 Message-ID: <20250506095224.176085-2-revest@chromium.org> X-Mailer: git-send-email 2.49.0.967.g6a0df3ecc3-goog In-Reply-To: <20250506095224.176085-1-revest@chromium.org> References: <20250506095224.176085-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. Fixes: ae80e1629aea ("mm: Define VM_SHADOW_STACK for arm64 when we support = GCS") Cc: Signed-off-by: Florent Revest Reviewed-by: Mark Brown --- 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.967.g6a0df3ecc3-goog From nobody Tue Dec 16 15:43:06 2025 Received: from mail-wr1-f52.google.com (mail-wr1-f52.google.com [209.85.221.52]) (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 9A83D14B965 for ; Tue, 6 May 2025 09:53:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746525183; cv=none; b=qv+qXOMr4ezPAmnVsWP7lnIYEY8e/rVXBrT9HB30FVfsqwLYUMNpt+xQg5uLsmIG7aXRsKafn5IGEeNF2RhvhhLnIlKduIc3mMwDNUbrDMD5IAMMkpEiFzZdrCpwNFzgBBC6MzcpF9gJyWX4E+E3mNJic8Kz15rStGHdNyzJNw8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746525183; c=relaxed/simple; bh=S1wWO8TnSaKl3RcppjsccS2lidIwJmBAs0ZKqfh3PCE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=utsqEK7/wo8ZfmhLCqleYBCMNcbc+qsZ3DFKKeAsH3zS+yTeK02uPeUNkV3PfF3muUor52n1YNkSacuqf21R2EbXKThY3aD0IK/b+l4xyLIAE4NdEtJ8QBGZFOdLdFF7U5vfNz6akRXwAHJOahDseyvol2GQ8G6HHc2ivWQZgtk= 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=AGyXp3qm; arc=none smtp.client-ip=209.85.221.52 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="AGyXp3qm" Received: by mail-wr1-f52.google.com with SMTP id ffacd0b85a97d-3912622c9c0so280738f8f.3 for ; Tue, 06 May 2025 02:53:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1746525180; x=1747129980; 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=4NGd39kNyH5imgbx4iJNuF/o2b5vxFS/Ovh2fwMTeXE=; b=AGyXp3qm0SpPahPL2gjAE9Qx4mggRCsMyzgW56V6adsxJSlMPgmEGyEDVctbycE7ww lP0jqOs5UNbdt5jTnnkIr9+yd4r2h7QDiGf7CUSXYMYEv1tAhQuURvnf1BRs5VL8zWIz /ja6iE0kqcgCgUwxbz/jtbbUPwe6Nox0N0Ygc= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746525180; x=1747129980; 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=4NGd39kNyH5imgbx4iJNuF/o2b5vxFS/Ovh2fwMTeXE=; b=Bhlc1Cb3DDfHrI5qwKpOFiAd7A9GAuz1r0dY+ZjoDJiB1MzwEElbjp2+14j0S+CMv0 OvTbC0V9UuHH/NlbP7fNJ96aIMsT81rhSAsRq2dAP6UPwAPGqh+NM96nQJddO9VuVoYA MPAFqcaNVu5F3BCDrAZ8ThMEw0pmXCrOBbdJnoSdPpsUaYHNSpQPJ/MSUmQSRS32qbyl HpM9SenWhp+2U5+OXQbQhVtNxBjOGacZuefJS6co2CtscnXAIvXzypiIoDXGk/eAx/NE 1VlShOR9kYMBrkyxqlf5nNjL18D7xeSeu7NbQK5g7I5XStjYgI810U9EHbGGqll9uDvO nOhg== X-Forwarded-Encrypted: i=1; AJvYcCUTzN/ApvI28sOKqbJPfjsg+aJL1qZZ89LNslaLqJCISeox4rDY466SH86T355UhSjB3wnPe2lu3hBZyJg=@vger.kernel.org X-Gm-Message-State: AOJu0YwYwB5gTTB3pT1bSx5qhU/ZBd6WzjewGgG7qI0tOpPXNALuOVQy rCnuGvFho/NQq+L/Ot8s+Eaa501YKmjghY3f+rwica3ZOhdyzohdcTfLbtAbAQ== X-Gm-Gg: ASbGncvLk4kRLO3Rh7tePep696GfcYYihy9bk27ZutWnOT3nll1RhffKRvUBT5Jqhvf krc/XW/11HgV3YQTg6fS2g2KuIvFIT2NRhQSdIZESykBx/YLQRRBF+5I6bBnkQyRh1dt8BauFnw GXVhEeZ+Igb35VwrrSjEuIDZSPm2UCDCqNXlHi2FiiH22gnqe4PhlYqqYxpsn2O9TlHUJpj4rT/ VZKiXTZyOfgyvHl+cb4+EXKkhmfCkrFgaxYiRWkiRh/JwcsiJ6InBVilw/zGei5DVcf1rlUjn8s bIRQuxUSOGESUWa4C6YKdtYTQ275WfWdmOtdx4Z8djYrRnDnL12YyCjI X-Google-Smtp-Source: AGHT+IFvoJ9VWnqzz0zwnnsYUFSbSXpLp8LA0nWbcwEm8mbzOzc2XLDUuiuHDk1KqlBG5f0OAuY0kw== X-Received: by 2002:a5d:64ef:0:b0:3a0:86f3:451f with SMTP id ffacd0b85a97d-3a099af1f69mr4374591f8f.12.1746525179837; Tue, 06 May 2025 02:52:59 -0700 (PDT) Received: from revest.zrh.corp.google.com ([2a00:79e0:9d:6:7196:3093:b0e3:1016]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a099ae7a46sm12879860f8f.44.2025.05.06.02.52.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 06 May 2025 02:52:59 -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 2/4] mm: remove CONFIG_ARCH_USES_HIGH_VMA_FLAGS Date: Tue, 6 May 2025 11:52:22 +0200 Message-ID: <20250506095224.176085-3-revest@chromium.org> X-Mailer: git-send-email 2.49.0.967.g6a0df3ecc3-goog In-Reply-To: <20250506095224.176085-1-revest@chromium.org> References: <20250506095224.176085-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.967.g6a0df3ecc3-goog From nobody Tue Dec 16 15:43:06 2025 Received: from mail-wr1-f43.google.com (mail-wr1-f43.google.com [209.85.221.43]) (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 A2B2426D4D3 for ; Tue, 6 May 2025 09:53:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746525184; cv=none; b=SyxP34dUtvHOmj1JHe0JBzTVjbe9qIAXzWoSdh75TlMOoiwWKO0pfOc7mO5F96taVbS9gtJKkVCgDNJQRAohY/daDn9iSFF6Zg0duQn51FL60OAq2aFtNnOZQzAWgWKhHBlH8qrZG1nThl2MRPUe1dKdnzUlU+7nGB/p/AfFhpo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746525184; c=relaxed/simple; bh=tkPSV+NTckmSMZEGHHDFeF3Ly6vEPLu1YHOm7t9yPWk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=FRNGkjmlT5Yml6z2bFftRN67dED6O9vCraU76mjB1vdsK4BsbMBwN8C8rTfSAodIH0GieFL5sWmdrudnvVyHLPyNNuoD4y/Y98NAq7a840At0g83rqVUUIfUB5NWW25fzMqHPhfNdQ48+1GX/U954uhXvIKzacrnKtMC/uamjhU= 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=PXXRpfXK; arc=none smtp.client-ip=209.85.221.43 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="PXXRpfXK" Received: by mail-wr1-f43.google.com with SMTP id ffacd0b85a97d-3912a28e629so137259f8f.1 for ; Tue, 06 May 2025 02:53:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1746525181; x=1747129981; 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=hbT2ahD6n7IJIA/hkl9Cgk/pyVc+H2AXLyHNEbzdhj4=; b=PXXRpfXK5Dx1S3no8ILnSEpRboOp7xKSi8uDowgKSba6SWdcJSU3eM+4s36gkPbX5A vyJidEoTnPQqKcLv5GErCh67+WHCMNf8T8c40cwEKzOrEy2QZ+KtDVpWQzPFN3Qq8JjS WYTsaRpAm2Q1fr7w9CePnN3k1EJs4b5msY81M= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746525181; x=1747129981; 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=hbT2ahD6n7IJIA/hkl9Cgk/pyVc+H2AXLyHNEbzdhj4=; b=tfLlVhkJn6gAsVUMOKtCqUuEHYPnL1ekQvAd0cjc3Vg4RGpPXULPrjuJl8ymDEP5PV hwyyslv4WFNpS6DOJAxN1IlPiG06dIJxqe79snKO6NbCvLXaEGzlJWusZvwN1ycxEnSx 0dCRHT0gU/04fnee/mC7aoLalEJ5kk2QPov96KxVSw65hJu2/Fne4+M4EqBBEGuKsS+6 rtukzrogdHVY0Fb/S3Dk2GNoLJgDmGYa/C/Sns+sempwkahwuNXNj3oQkZ7kdPWrwwEI FWFCSi0zP9TtErS03TTOW2HLoYzqGEvNUL1Z6cRPRIpox+eNZQ2Me/jhx3Y9npnZcGi0 zhUg== X-Forwarded-Encrypted: i=1; AJvYcCXUDOpi9tK4HQbnrpqflOqJCyxVj8AWgbQPkgZfIZr5qrYkmgQjAxbSGC1Ag04O84gzsv1kGicbY6qHIcQ=@vger.kernel.org X-Gm-Message-State: AOJu0YwUME8R3pqYFKFICCDxoNn62bSz+kNMIcww0q2NK00We2GnuW9m FoiNGtO9Ik5MgczI8nRrcZIDNIKHF++YHC4PouTlsj3G4xTyB5fHZZ9Ai4EmLQ== X-Gm-Gg: ASbGncskJo9a8tp2UeBAZE7nz2FcXVMYNcVRosG9lm9/gYmNqhzT3g18rUYwfARtM5x mpqlz44DsnzTRUY/9OPHmwJ7N4t3isZo6kfX8pto8Ny/ccG5AIRkaZ6gzpPjSSAH21q833iAYYf mcVyQCY+WUVRW+MkwyuZCiPWNKATPK+VXcIDN/ZjcQ8WNqcCyd4SmMNCKMRDnyjXVT2nQQiTn1h Ls6xMRERqdmoyWktYm0m3TjSpdkStHs/2kPhcpObgAScvrFponRh2f0ki3pIRkEi9tEmFw0Mx5R BnoxfYMQXzP/e0p51LY0TZQvhGTCc1Xc+crgWNVq4UkIUhU4MQZL/XTT X-Google-Smtp-Source: AGHT+IH3Aw9R6eQGQyylIsisf/BriyDalEXmmHTIV0IM5P4uGRot/KrSe+pVAO+lSpHYSSWDHmWl7Q== X-Received: by 2002:a05:6000:22c3:b0:39f:6d4:fd44 with SMTP id ffacd0b85a97d-3a099af36b9mr4255569f8f.14.1746525180660; Tue, 06 May 2025 02:53:00 -0700 (PDT) Received: from revest.zrh.corp.google.com ([2a00:79e0:9d:6:7196:3093:b0e3:1016]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a099ae7a46sm12879860f8f.44.2025.05.06.02.52.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 06 May 2025 02:53:00 -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 3/4] mm: use VM_HIGH_ARCH_* macros consistently Date: Tue, 6 May 2025 11:52:23 +0200 Message-ID: <20250506095224.176085-4-revest@chromium.org> X-Mailer: git-send-email 2.49.0.967.g6a0df3ecc3-goog In-Reply-To: <20250506095224.176085-1-revest@chromium.org> References: <20250506095224.176085-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.967.g6a0df3ecc3-goog From nobody Tue Dec 16 15:43:06 2025 Received: from mail-wm1-f42.google.com (mail-wm1-f42.google.com [209.85.128.42]) (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 7C9372701B4 for ; Tue, 6 May 2025 09:53:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746525185; cv=none; b=teT1Ft5H2L8wHpDdarXfmZGS+EGxSXPw1Nb2ltgaEPI4mBpnmtavY+qln874WserqT2zjDz45/EUHV0Pmo180LTUZ8S4P5z3RGZD/55aOgLuZCSfVmWEVkRIC4+q47/tzLLc8N0iD9LL3MXaF6uPkpXSZkiIYhfxfv3u2ggRB+8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746525185; c=relaxed/simple; bh=tfnfEL7qOmk4B/7adxtD8s10RKufvLbtkvnkXkzHFtU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=RIENDiytZfbsz/w8kV7HVZOqGZH4vmkR5YCbWf6qw1oyOeDpN12+RCpG9p8yU/mx1yS5FGvOUcZsRG95s0r9KHyr7hNXdZyz5npRJDlNn7TXWC+UpJlb97XCoeNceM+EeRau7JHNOmiDffBVNnT1tjKNVjAkVbmoWUQs3n3yXVY= 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=BB0LxXGk; arc=none smtp.client-ip=209.85.128.42 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="BB0LxXGk" Received: by mail-wm1-f42.google.com with SMTP id 5b1f17b1804b1-440668acbf3so7143705e9.0 for ; Tue, 06 May 2025 02:53:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1746525182; x=1747129982; 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=JhJcuLA9lc6JwkXlygLvOeNzNKhkGSCKOxEZRRwR2Fk=; b=BB0LxXGkB2vTxlxsNSh1+a3ssONuOPaFw8wz8Sl8S7cuFnYZHQSnTnrK7M07LA5woT Y8mJGdcBLQ4yQ5FjeISc4rc+XTuT6huymtCoUWjT+GM8S5eFMmKemXXaABkEk9qbvmX+ gSXNcb2yCHWsCzYia9+4z2t74QZxHtJlZn4gI= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746525182; x=1747129982; 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=JhJcuLA9lc6JwkXlygLvOeNzNKhkGSCKOxEZRRwR2Fk=; b=mjdBUMkYBLoYmfrvcTZWuQSPw8BRMp0e1RiuSKWyVe+wJndQX0t3+J2ejUNFqca0ge XNe+9lEqn9FVo1ybPOLP25RDN4OYw4856owziItKtHqygQslq/DG6sSHDrgyjDtU7rK0 ND/AkWMQacZxDBMkcFxXRX1QS8w5/IW13mmsjvPP5zqDx+NyTJCRsNjFGyO8N5eQ+1q2 WszNC2/RZ0Uzbf5F4g2UR8y4Os4lPu8tsyL2IRZe/FJjBWfRUz7tv2A9uzmSgBeC5sfq pt5UErFpbzzTXd67HVRyjmIALm63HNfuC0u9FBvWd+KE2cnO3NKc9JdBMjWFX2dMkZmY sPsg== X-Forwarded-Encrypted: i=1; AJvYcCUy5TN8HKF+JrgWHWA2AVjxyRdq0xQXV3Vlwi1toB8QeIjOiUHlFSJs6BypvL3ccvcUCRU6sSx8TtamUpk=@vger.kernel.org X-Gm-Message-State: AOJu0YzWPP1yMGTueRZHIVxwanngqJsqtZAQONnQp05kfG5VhuyjOL6k hveQYLU5a+MsF0Jh/t8PnbLG38iGI8Wg3F6WDmlSqtwCBkdOF6HMjoekHH08ew== X-Gm-Gg: ASbGncvjUvJ3wIzhcZfpkuxz7LbINaj05TjW8XSwpcpjFizmOocvqqcbJ2gzKuLthKP zz1JHTQ4z1T4lw8DimAyHmhMFG+PjWaAn/r8+YYuFMzjw+b4CQ7geIMPnX1gqDmI8Umpu5seJYP lJjaq0zoXMcvihXxc17ohdwd5IKL9TldI8kH6lNIg7eYQCzcDvhHLhIlKxPh6rNbzw39XjJpitN 9QS2i8Ad19d05XWJz45dWUHx9UfqOKV+JWtPocp2K9+EDvQyerXRNjr7yF0oVE9pDE+bN5ny7NU NzTIn9ZKKgNGCDDy8QQzZN2Rk88FrgfXejFABC4nkPcWdnHJzkY0esLa X-Google-Smtp-Source: AGHT+IHU7272b30JufMiYFqV3ys7N1n90y66VNZEPW3djdWr2Dr7SURgKX3aokdtNYam+3P+w0HERQ== X-Received: by 2002:a05:600c:3e07:b0:43b:c844:a4ba with SMTP id 5b1f17b1804b1-441bbec0fdfmr51577235e9.3.1746525181618; Tue, 06 May 2025 02:53:01 -0700 (PDT) Received: from revest.zrh.corp.google.com ([2a00:79e0:9d:6:7196:3093:b0e3:1016]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a099ae7a46sm12879860f8f.44.2025.05.06.02.53.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 06 May 2025 02:53:01 -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 4/4] mm: consolidate VM_HIGH_ARCH_* macros into parametric macros Date: Tue, 6 May 2025 11:52:24 +0200 Message-ID: <20250506095224.176085-5-revest@chromium.org> X-Mailer: git-send-email 2.49.0.967.g6a0df3ecc3-goog In-Reply-To: <20250506095224.176085-1-revest@chromium.org> References: <20250506095224.176085-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 | 50 ++++++++++++++-------------------------------- 1 file changed, 15 insertions(+), 35 deletions(-) diff --git a/include/linux/mm.h b/include/linux/mm.h index b12549f0a6dce..6750020d5ea37 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_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.967.g6a0df3ecc3-goog