Re: [RFC V2 3/6] sh/mm: Stop using pte_ERROR()
"David Hildenbrand (Arm)" <[email protected]>
| Newsgroups | org.ozlabs.lists.linuxppc-dev,dev.linux.lists.loongarch,org.infradead.lists.linux-arm-kernel,org.infradead.lists.linux-riscv,org.infradead.lists.linux-snps-arc,org.infradead.lists.linux-um,org.kernel.vger.linux-alpha,org.kernel.vger.linux-arch,org.kernel.vger.linux-csky,org.kernel.vger.linux-hexagon,org.kernel.vger.linux-kernel,org.kernel.vger.linux-m68k,org.kernel.vger.linux-mips,org.kernel.vger.linux-openrisc,org.kernel.vger.linux-parisc,org.kernel.vger.linux-s390,org.kernel.vger.linux-sh,org.kernel.vger.sparclinux,org.kvack.linux-mm |
|---|---|
| Message-ID | <[email protected]> |
On 8/11/26 06:21, Anshuman Khandual wrote: > Directly use pr_err() in set_pte_phys() 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. > > Cc: Yoshinori Sato <[email protected]> > Cc: Rich Felker <[email protected]> > Cc: John Paul Adrian Glaubitz <[email protected]> > Cc: [email protected] > Cc: [email protected] > Signed-off-by: Anshuman Khandual <[email protected]> > --- > arch/sh/include/asm/pgtable_32.h | 5 ----- > arch/sh/mm/init.c | 11 ++++++++++- > 2 files changed, 10 insertions(+), 6 deletions(-) > > diff --git a/arch/sh/include/asm/pgtable_32.h b/arch/sh/include/asm/pgtable_32.h > index 5f51af18997b..c8eb9a7a4c4c 100644 > --- a/arch/sh/include/asm/pgtable_32.h > +++ b/arch/sh/include/asm/pgtable_32.h > @@ -401,14 +401,9 @@ static inline unsigned long pmd_page_vaddr(pmd_t pmd) > #define pmd_page(pmd) (virt_to_page(pmd_val(pmd))) > > #ifdef CONFIG_X2TLB > -#define pte_ERROR(e) \ > - printk("%s:%d: bad pte %p(%08lx%08lx).\n", __FILE__, __LINE__, \ > - &(e), (e).pte_high, (e).pte_low) > #define pgd_ERROR(e) \ > printk("%s:%d: bad pgd %016llx.\n", __FILE__, __LINE__, pgd_val(e)) > #else > -#define pte_ERROR(e) \ > - printk("%s:%d: bad pte %08lx.\n", __FILE__, __LINE__, pte_val(e)) > #define pgd_ERROR(e) \ > printk("%s:%d: bad pgd %08lx.\n", __FILE__, __LINE__, pgd_val(e)) > #endif > diff --git a/arch/sh/mm/init.c b/arch/sh/mm/init.c > index 110308bdef01..b3c7fd84ceb4 100644 > --- a/arch/sh/mm/init.c > +++ b/arch/sh/mm/init.c > @@ -78,13 +78,22 @@ static pte_t *__get_pte_phys(unsigned long addr) > return pte_offset_kernel(pmd, addr); > } > > +static void print_bad_pte(pte_t pte) > +{ > +#ifdef CONFIG_X2TLB > + printk("bad pte %p(%08lx%08lx).\n", &pte, pte.pte_high, pte.pte_low); > +#else > + printk("bad pte %08lx.\n", pte_val(pte)); > +#endif I'd avoid that helper if possible, so we don't encourage new users. Shouldn't we just switch to pr_err() right away? > +} > + > static void set_pte_phys(unsigned long addr, unsigned long phys, pgprot_t prot) > { > pte_t *pte; > > pte = __get_pte_phys(addr); > if (!pte_none(*pte)) { > - pte_ERROR(*pte); > + print_bad_pte(*pte); Maybe similar to my reply to patch #1, actually print something more useful than just "bad pte" ? And possibly also just use ptval_to_str(). -- Cheers, David