From: Anshuman Khandual <anshuman.khandual@arm.com>
To: linux-mm@kvack.org, akpm@linux-foundation.org, david@kernel.org
Cc: Anshuman Khandual <anshuman.khandual@arm.com>,
Yoshinori Sato <ysato@users.sourceforge.jp>,
Rich Felker <dalias@libc.org>,
John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
Helge Deller <deller@gmx.de>, Huacai Chen <chenhuacai@kernel.org>,
WANG Xuerui <kernel@xen0n.name>,
linux-alpha@vger.kernel.org, linux-snps-arc@lists.infradead.org,
linux-arm-kernel@lists.infradead.org, linux-csky@vger.kernel.org,
linux-hexagon@vger.kernel.org, loongarch@lists.linux.dev,
linux-m68k@lists.linux-m68k.org, linux-mips@vger.kernel.org,
linux-openrisc@vger.kernel.org, linux-parisc@vger.kernel.org,
linuxppc-dev@lists.ozlabs.org, linux-riscv@lists.infradead.org,
linux-s390@vger.kernel.org, linux-sh@vger.kernel.org,
sparclinux@vger.kernel.org, linux-um@lists.infradead.org,
linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [RFC V3 3/8] loongarch/mm: Stop using pte_ERROR()
Date: Tue, 18 Aug 2026 09:30:36 +0530 [thread overview]
Message-ID: <20260818040041.1891769-4-anshuman.khandual@arm.com> (raw)
In-Reply-To: <20260818040041.1891769-1-anshuman.khandual@arm.com>
Directly use pr_err() in __set_fixmap() and drop pte_ERROR() which helps in
eventually dropping pte_ERROR() macro across the tree. In this new printing
__FILE__ and __LINE__ has been dropped because they are always the same and
don't really add any value. The new ptval_to_str() helper is being used for
converting pgtable entry value into a string. The error message itself has
been cleaned up as well.
Cc: Huacai Chen <chenhuacai@kernel.org>
Cc: WANG Xuerui <kernel@xen0n.name>
Cc: loongarch@lists.linux.dev
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
---
Changes in RFC V3
- Cleaned up the error message and used ptrval_to_str()
arch/loongarch/include/asm/pgtable.h | 2 --
arch/loongarch/mm/init.c | 4 +++-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/arch/loongarch/include/asm/pgtable.h b/arch/loongarch/include/asm/pgtable.h
index 223528c04d73..a32a8fff70c1 100644
--- a/arch/loongarch/include/asm/pgtable.h
+++ b/arch/loongarch/include/asm/pgtable.h
@@ -128,8 +128,6 @@ struct vm_area_struct;
#define ptep_get(ptep) READ_ONCE(*(ptep))
#define pmdp_get(pmdp) READ_ONCE(*(pmdp))
-#define pte_ERROR(e) \
- pr_err("%s:%d: bad pte %016lx.\n", __FILE__, __LINE__, pte_val(e))
#ifndef __PAGETABLE_PMD_FOLDED
#define pmd_ERROR(e) \
pr_err("%s:%d: bad pmd %016lx.\n", __FILE__, __LINE__, pmd_val(e))
diff --git a/arch/loongarch/mm/init.c b/arch/loongarch/mm/init.c
index 3407030f3e7a..b8d6c3cb4565 100644
--- a/arch/loongarch/mm/init.c
+++ b/arch/loongarch/mm/init.c
@@ -197,13 +197,15 @@ void __init __set_fixmap(enum fixed_addresses idx,
phys_addr_t phys, pgprot_t flags)
{
unsigned long addr = __fix_to_virt(idx);
+ char str[PTVAL_STR_MAX];
pte_t *ptep;
BUG_ON(idx <= FIX_HOLE || idx >= __end_of_fixed_addresses);
ptep = populate_kernel_pte(addr);
if (!pte_none(ptep_get(ptep))) {
- pte_ERROR(*ptep);
+ ptval_to_str(str, pte_val(*ptep));
+ pr_err("unexpected set PTE at %lx in %s: %s\n", addr, __func__, str);
return;
}
--
2.43.0
next prev parent reply other threads:[~2026-08-18 4:01 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-18 4:00 [RFC V3 0/8] mm: Drop pxd_ERROR() Anshuman Khandual
2026-08-18 4:00 ` [RFC V3 1/8] mm: Make ptrval_to_str() generally available Anshuman Khandual
2026-08-18 17:25 ` David Hildenbrand (Arm)
2026-08-18 4:00 ` [RFC V3 2/8] mm: Stop using pxd_ERROR() Anshuman Khandual
2026-08-18 17:25 ` David Hildenbrand (Arm)
2026-08-18 4:00 ` Anshuman Khandual [this message]
2026-08-18 17:25 ` [RFC V3 3/8] loongarch/mm: Stop using pte_ERROR() David Hildenbrand (Arm)
2026-08-18 4:00 ` [RFC V3 4/8] parisc/mm: Directly use generic [pmd|pgd]_clear_bad() Anshuman Khandual
2026-08-18 4:00 ` [RFC V3 5/8] sh/mm: Stop using pte_ERROR() Anshuman Khandual
2026-08-18 17:26 ` David Hildenbrand (Arm)
2026-08-18 4:00 ` [RFC V3 6/8] sh/mm: Stop using [p4d|pud|pmd]_ERROR() Anshuman Khandual
2026-08-18 4:00 ` [RFC V3 7/8] sh/mm: Stop using pgd_ERROR() Anshuman Khandual
2026-08-18 4:00 ` [RFC V3 8/8] mm: Drop pxd_ERROR() Anshuman Khandual
2026-08-18 17:26 ` David Hildenbrand (Arm)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260818040041.1891769-4-anshuman.khandual@arm.com \
--to=anshuman.khandual@arm.com \
--cc=James.Bottomley@HansenPartnership.com \
--cc=akpm@linux-foundation.org \
--cc=chenhuacai@kernel.org \
--cc=dalias@libc.org \
--cc=david@kernel.org \
--cc=deller@gmx.de \
--cc=glaubitz@physik.fu-berlin.de \
--cc=kernel@xen0n.name \
--cc=linux-alpha@vger.kernel.org \
--cc=linux-arch@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-csky@vger.kernel.org \
--cc=linux-hexagon@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-m68k@lists.linux-m68k.org \
--cc=linux-mips@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-openrisc@vger.kernel.org \
--cc=linux-parisc@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=linux-s390@vger.kernel.org \
--cc=linux-sh@vger.kernel.org \
--cc=linux-snps-arc@lists.infradead.org \
--cc=linux-um@lists.infradead.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=loongarch@lists.linux.dev \
--cc=sparclinux@vger.kernel.org \
--cc=ysato@users.sourceforge.jp \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox