From nobody Sun Feb 8 18:31:31 2026 Received: from mail-ot1-f51.google.com (mail-ot1-f51.google.com [209.85.210.51]) (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 0ECF132AAD2 for ; Mon, 22 Dec 2025 15:29:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766417352; cv=none; b=DIjs84U341AyiMPEnwv2/yDyazTPA12k4tLmDAECCslNYMHGBPhR0CWL8AABIdEcTyqv2IW/B0pAsZ3F2j+ClqQ9+Bgacbvd1SNGSB3YyPZhtKWybWv508SkwG6tkWhUrCY5wTo80FYA0RarZ3YO5GZ1tnH0NfVwCgDVQ34ivRQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766417352; c=relaxed/simple; bh=POVwh7CIkpm8OwgtoG3u426PTzAyYheJiuT2ffXLjeA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:Cc; b=rBl+lKoPY/uXl0GFvnxXThUAi/9Csra/+uCMLfWSO7aDjrTxky4pGIzYszvpA3jfBC6p1qrYHBhpcUUeWloj/Bhe22Z6WMbLYZ8Wrb2IjlJS/JMeTHrkziZHRpHpK6HUw5KcLGU7Q+AOaDJAXub4qUnc4CoubfwLxGEKzWg25rY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=debian.org; spf=pass smtp.mailfrom=gmail.com; arc=none smtp.client-ip=209.85.210.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=debian.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-ot1-f51.google.com with SMTP id 46e09a7af769-7c6d3676455so1850645a34.2 for ; Mon, 22 Dec 2025 07:29:10 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766417350; x=1767022150; h=cc:to:message-id:content-transfer-encoding:mime-version:subject :date:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=3gjP35cBA/xLIQiDo38CPhxP2cqKO6MoYUqR4x35YRw=; b=HDZ4hQRxaAJfkZDOEY+CFavyua1rvd7BpOCZ6NUN707/gzw6NCHNNkwWJgtpb/NTIN GKgnJ2XbYBfeEqYcZwYgvOVZlVi0wRIdLuIWWKAoGYmJq2Ck91wbzM63y4XJon13fzdz 8GaftEIMVMgYe7pWZW5DA7XVyccheGEjngpwlaxVTELMP2FtwVBipFFiJLDrHg0pWov+ Ud6Vb/FXoMEHk9rWORBKd68bO8VtctFJIZtms7r28x+/5f01iYSHoFEeO+s7ssv62Mok Oija5w1vspLx+97VDC30PPnJg3ZVABqP5er/vVJQ6nyCsMkoV6mumaJUPjIMa8MnHlc9 hyqQ== X-Forwarded-Encrypted: i=1; AJvYcCWww4m/2PSmf2A02rKSkc8Poit62HqmRoC3EKXsf0al6B5O4m3ik7G5ekNgPYxArKytK6QB/M8t+L4G0Kg=@vger.kernel.org X-Gm-Message-State: AOJu0YxdnbSXzIW79HVos12peuwHxoxiyyX1Bth7+avRNp0FxTfK9u2s BDeX4X8tT3KSYtqcRh6O1FZu180UfrbMi73Vb5UecnEA1wUdG1wykckj X-Gm-Gg: AY/fxX79PU8jSICV59TTh6EheGSSlT3jR5p326g86RL7/RUts9FpSUM+YVLIvpZsjnG UxHk36btgDRn04LAUvZx/+5fVg37cTQBwJ/9RhhhT/dBsuCHbqKmdiiCVaaz4BQxGb6yjRtfo49 7jlmun2SqiNQPl0KT204NKa7MDBTSUq7ktiRPk96clZFGkQK0xt1xxNQPWRh2ScQNkFOGbIykPF pJKkS5NM78Z/XLHM7d24tI9CRuo64aL37gCDUHb4iuVFQGtm31ptCigHA8AG0o8Sj58TcgsaKGT sGGTaADZlj4e3gQGVCNqvHAmevcfJWvUM9o0RU3PpwEp2aqhSlpgt8qzMqs0vh1LiUcmYmYG3HM l0NGMgtrYBUbE2b+oPuaMF7XJ4KjALRVhq3JAhKc1L1+yPb8pdTQQwuWGGIhjWS9mSp0799YqD/ Dh+Y0wpEdM5PWKocuBIDynwUAb X-Google-Smtp-Source: AGHT+IGVcq4K1AuHoxYg7INDkNkuprMgNTWqLwhWLeF7yuLOnk9Yx0LUPU2KReQ0jIoNQtiJzx+f0A== X-Received: by 2002:a05:6830:4582:b0:7cb:125d:2a43 with SMTP id 46e09a7af769-7cc66a1287bmr3846250a34.28.1766417349933; Mon, 22 Dec 2025 07:29:09 -0800 (PST) Received: from localhost ([2a03:2880:10ff:5b::]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-7cc667d572asm7516062a34.14.2025.12.22.07.29.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 Dec 2025 07:29:09 -0800 (PST) From: Breno Leitao Date: Mon, 22 Dec 2025 07:28:55 -0800 Subject: [PATCH] arm64: mm: warn once for ioremap attempts on RAM mappings Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251222-arm64_ioremap-v1-1-30ff5f718b61@debian.org> X-B4-Tracking: v=1; b=H4sIALdjSWkC/yXM3QqCQBAG0FcZvmsX1rE12VeJiFVHm8AfZisC8 d2jvDw3Z0MWU8mItMHkrVmXGZHKgtDd0zyK0x6RwJ5Dycwu2VSfbrqYTGl1Pfuzr9omVKFBQVh NBv38v8v1cH61D+mevwT7/gVuG1JwcQAAAA== X-Change-ID: 20251222-arm64_ioremap-d20703b85358 To: Catalin Marinas , Will Deacon Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, kernel-team@meta.com, clm@fb.com, Breno Leitao X-Mailer: b4 0.15-dev-47773 X-Developer-Signature: v=1; a=openpgp-sha256; l=1501; i=leitao@debian.org; h=from:subject:message-id; bh=POVwh7CIkpm8OwgtoG3u426PTzAyYheJiuT2ffXLjeA=; b=owEBbQKS/ZANAwAIATWjk5/8eHdtAcsmYgBpSWPFksJ6Y16yNrpT1VKRMJZnwT+KP5gYsNMZt 1BLT/2eSp2JAjMEAAEIAB0WIQSshTmm6PRnAspKQ5s1o5Of/Hh3bQUCaUljxQAKCRA1o5Of/Hh3 beU0D/4i52o2SEZrAvbmPRFBbfc8u+M2tKF0LgG7bE8z++2znri4naTPcgKk+F4NhwactwVrdEA UZ8NHI8bQGwpGNgO6tCFBQrcgd0KkWRY1lmY1mjAWM9yIydWfW1rKLJpS3cIA6PNsxy62GT46BH lE+GzgzzfYFK7suk9fRgsiixLF5ciWpVrCU5HX1HvqMiqFH6EwFOVcyflVBQn4EIQ/Y4cOVvjiP q6PDnSP1coTVHSiGT0xYBDuLg/gC8OTZPe1wZcQZBMC+k9xxlywwZIwS02DbP/57EL3jqFajtVp QHikwRvsiQobDfS3XEJtyHxt/IGNNcsMwAs1zIFVZwx0pnJgcNh157a7PGfdLZPHHL8lQmY166X RcM1bNgLndjZzOxzXqUbVGoy06rNLDH7qXmmAJIqE294+QBGddeZuYI/4m8xL4MqmVqgTiPp2rQ G3zNyLwXZ2jSa0kWF6hBfjrA59wpWmjbU+2bCbFwagG+F0iWdNKi75KCaTq6/rKWa6nz9WRTQXg D2NLwg/IkqDRWS2NMvC6+66Gwia6UBbYS9C5iwfp5TbMgfoQJS7ttEQdi0PTXJefDcfea6zGV5Y 2jfRn3LJ2alPGcOSCnSAX8eNguDS8Gd2UOjjEtxNgc0JbczVeAVHhh3b3y92or5Dos17Iz+/9NS pe/IbjWa3088Wjg== X-Developer-Key: i=leitao@debian.org; a=openpgp; fpr=AC8539A6E8F46702CA4A439B35A3939FFC78776D Replace WARN_ON with WARN_ONCE when detecting attempts to ioremap RAM. This prevents log spam when a misbehaving driver repeatedly tries to map RAM via ioremap. A single warning is more than enough to show the broken code path, and extra reports don't add extra information. Warning floods have been seen in production environments where broken external drivers hit this code path thousand of times, causing unnecessary messages to be printed and pressure on the serial console. Signed-off-by: Breno Leitao Acked-by: Catalin Marinas --- PS: This is crashing a host due to a lockup on nbcon that is likely fixed by commit d5d399efff65773("printk/nbcon: Release nbcon consoles owner= ship in atomic flush after each emitted record") --- arch/arm64/mm/ioremap.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/arm64/mm/ioremap.c b/arch/arm64/mm/ioremap.c index 10e246f11271..b12cbed9b5ad 100644 --- a/arch/arm64/mm/ioremap.c +++ b/arch/arm64/mm/ioremap.c @@ -24,7 +24,8 @@ void __iomem *ioremap_prot(phys_addr_t phys_addr, size_t = size, return NULL; =20 /* Don't allow RAM to be mapped. */ - if (WARN_ON(pfn_is_map_memory(__phys_to_pfn(phys_addr)))) + if (WARN_ONCE(pfn_is_map_memory(__phys_to_pfn(phys_addr)), + "ioremap attempted on RAM pfn\n")) return NULL; =20 /* --- base-commit: 8f0b4cce4481fb22653697cced8d0d04027cb1e8 change-id: 20251222-arm64_ioremap-d20703b85358 Best regards, -- =20 Breno Leitao