From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f73.google.com (mail-wm1-f73.google.com [209.85.128.73]) (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 CDDE13E3D98 for ; Wed, 3 Jun 2026 16:11:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.73 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780503085; cv=none; b=pYEmzmPK//0Jxy5isrFIU3MGM7A3kkPT+qXD707NshpTQdf6YtgLnkZYrZPxLZKhscJdnlJrWQO3EVHJTodKw+KYJr4PpWb7oMUvk1H7z8uWCfWJ+83/LMyen6R3v1WnjyvwjmvnpA/hXQPeyZ5Gp3DtAd2dQuMBdyf2MNnN/PY= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780503085; c=relaxed/simple; bh=fJGNcMlz+SxsA+jLRLlCKD046oRYRmRlCUIrYDn356w=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=G9ErU4x7Jia0Omc9tzUraVyzr8Tu0CvPFt+HnlgVAvToMkjQ7dSoZvxlX9QCh4eYLrgBJaZCDBSnP/8G9pNrM8i55+w/93rSZV2oIKKSxwTm/VHQs4BQD85P5P5yvWx+PE/gu/Gyx+nOtbEekDUdVXQl2JQQOWtd93PacJ5Cjow= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--ardb.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=W7OKzSMi; arc=none smtp.client-ip=209.85.128.73 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--ardb.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="W7OKzSMi" Received: by mail-wm1-f73.google.com with SMTP id 5b1f17b1804b1-490b7959b9fso9885365e9.2 for ; Wed, 03 Jun 2026 09:11:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20251104; t=1780503082; x=1781107882; darn=vger.kernel.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=S0uwFj2oVK8Ym93JzitEXh3ZnJKfgcyu+cm0Jby8VRA=; b=W7OKzSMiHvLyuiG6KWbQjKU1Pn7cIXE/Gm2q7bnSNNH4eTWtdDs16Xxvv/NVDnQ4Is EDRihyNe1ioOLl1WDAfBEQ6b52X4i2U8pv5Smbu5Aa3kBsbFZoypwNtZW4aisOJj5OB1 WEy6uDx0sMk8TSx1bCqUiEWnfoVJMumjh55C7ghyjrEaRzqpdITLEeeKeazdkTniVv4h Vrvp473gRcXXB95FzoccLnsCb+Joiga1E69488m2HqckppZJD7JvxHI8psomcPIWPBOD QKP3Q4k5irw9bxT+Tt8e0W7d1GFIDbhv2F0oRzlCsZP6ZLr7s2fp+TvjesurYD+uyJNx fI3w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780503082; x=1781107882; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=S0uwFj2oVK8Ym93JzitEXh3ZnJKfgcyu+cm0Jby8VRA=; b=Q+NoSzzdWhbYXFzpXIzFlyRYK1ivtY0t3IcGZXS02om/JINvFqJ6A9swsEyNd2yhWl bufItRSK74d0SPiSYpDoyM/MkooGqFAX4IClQeILv8/6Tj/buqegz5YhrhhUuwm/r6ib WBpajvkaIs3M2nqRWjZpHO7RIWzEGvYGpBJobSjzVKQf4I0PPIGj7mCHCKQlzkTYvNYv clMSGTqMeQ5RdxTL9GdWvuiAqxKElNDbk5DfQk0Z3P2mxrgqK/4tR8mm8/z8tC6JBTYD qxbWV9OF3AefSwdTYRTgiRUMyp5eOx1biCsHKQWi3yrYjG30cZpOANbQgZGJWz5rCgvv QcBQ== X-Gm-Message-State: AOJu0YxZkq5xFywkVx564WxO6fHbuz03wUV2ibohb5sN6f+EfwaOlaDa Oa878SuUglgs+QYIM+zCazbpUeuBe8F/fSRjVPkR9fpI7ZsTujz39JKNCM9OdZc3KUxZRZGLxg= = X-Received: from wmog10.prod.google.com ([2002:a05:600c:310a:b0:490:b360:5841]) (user=ardb job=prod-delivery.src-stubby-dispatcher) by 2002:a05:600c:4e87:b0:490:9d1b:f05c with SMTP id 5b1f17b1804b1-490b60e3f91mr74583475e9.33.1780503082036; Wed, 03 Jun 2026 09:11:22 -0700 (PDT) Date: Wed, 3 Jun 2026 18:09:53 +0200 In-Reply-To: <20260603160949.3372482-6-ardb+git@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20260603160949.3372482-6-ardb+git@google.com> X-Developer-Key: i=ardb@kernel.org; a=openpgp; fpr=F43D03328115A198C90016883D200E9CA6329909 X-Developer-Signature: v=1; a=openpgp-sha256; l=1037; i=ardb@kernel.org; h=from:subject; bh=SJHawBMrvWNXo+6oa7fD+p3VxoLw7RWBCVzA/QDwCOg=; b=owGbwMvMwCVmkMcZplerG8N4Wi2JIUsh8FLd1w3h24XNTyeYGLFxHm72u+/DcGNVcbKX3jXWH UnCv092lLIwiHExyIopsgjM/vtu5+mJUrXOs2Rh5rAygQxh4OIUgIn01TIyvHN4t/fK3iV7N0yb H3rcwJP5rHPc4/MJQYtmbpwYdK+Ut4vhr+SPVTMyHFw14pUUEyfzzTXYGGSy5frpGwsWtSz5UpT uwAEA X-Mailer: git-send-email 2.54.0.1013.g208068f2d8-goog Message-ID: <20260603160949.3372482-9-ardb+git@google.com> Subject: [PATCH 3/4] arm64: mte: Disregard the zero page explicitly for manipulating tags From: Ard Biesheuvel To: linux-arm-kernel@lists.infradead.org Cc: linux-kernel@vger.kernel.org, will@kernel.org, catalin.marinas@arm.com, maz@kernel.org, Ard Biesheuvel , Kevin Brodsky , Mark Brown Content-Type: text/plain; charset="UTF-8" From: Ard Biesheuvel The zero page is conceptually immutable, and will be moved into .rodata to prevent inadvertent corruption. Prepare the MTE code for this, by ensuring that the zero page is never taken into account for tag manipulation, given that those actions will no longer be permitted on the read-only alias of .rodata in the linear map. Signed-off-by: Ard Biesheuvel --- arch/arm64/include/asm/mte.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/arch/arm64/include/asm/mte.h b/arch/arm64/include/asm/mte.h index 7f7b97e09996..093b34944aee 100644 --- a/arch/arm64/include/asm/mte.h +++ b/arch/arm64/include/asm/mte.h @@ -80,6 +80,11 @@ static inline bool page_mte_tagged(struct page *page) */ static inline bool try_page_mte_tagging(struct page *page) { + extern struct page *__zero_page; + + if (page == __zero_page) + return false; + VM_WARN_ON_ONCE(folio_test_hugetlb(page_folio(page))); if (!test_and_set_bit(PG_mte_lock, &page->flags.f)) -- 2.54.0.1013.g208068f2d8-goog