mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	sh: fault: modernize printing of kernel messages
- Convert from printk() to pr_*(), - Add missing continuations, - Use "%llx" to format u64, - Join multiple prints in show_fault_oops() into a single print. Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: Mike Rapoport <rppt@linux.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Brian Cain <bcain@codeaurora.org> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Christophe Leroy <christophe.leroy@c-s.fr> Cc: Fenghua Yu <fenghua.yu@intel.com> Cc: Guan Xuetao <gxt@pku.edu.cn> Cc: James Morse <james.morse@arm.com> Cc: Jonas Bonn <jonas@southpole.se> Cc: Julien Thierry <julien.thierry.kdev@gmail.com> Cc: Ley Foon Tan <ley.foon.tan@intel.com> Cc: Marc Zyngier <maz@kernel.org> Cc: Michael Ellerman <mpe@ellerman.id.au> Cc: Paul Mackerras <paulus@samba.org> Cc: Rich Felker <dalias@libc.org> Cc: Russell King <linux@armlinux.org.uk> Cc: Stafford Horne <shorne@gmail.com> Cc: Stefan Kristiansson <stefan.kristiansson@saunalahti.fi> Cc: Suzuki K Poulose <suzuki.poulose@arm.com> Cc: Tony Luck <tony.luck@intel.com> Cc: Will Deacon <will@kernel.org> Cc: Yoshinori Sato <ysato@users.sourceforge.jp> Link: http://lkml.kernel.org/r/20200414153455.21744-10-rppt@kernel.org Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
		
							parent
							
								
									2fb4706057
								
							
						
					
					
						commit
						eaabf98b09
					
				
					 1 changed files with 18 additions and 20 deletions
				
			
		| 
						 | 
					@ -47,10 +47,10 @@ static void show_pte(struct mm_struct *mm, unsigned long addr)
 | 
				
			||||||
			pgd = swapper_pg_dir;
 | 
								pgd = swapper_pg_dir;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	printk(KERN_ALERT "pgd = %p\n", pgd);
 | 
						pr_alert("pgd = %p\n", pgd);
 | 
				
			||||||
	pgd += pgd_index(addr);
 | 
						pgd += pgd_index(addr);
 | 
				
			||||||
	printk(KERN_ALERT "[%08lx] *pgd=%0*Lx", addr,
 | 
						pr_alert("[%08lx] *pgd=%0*llx", addr, (u32)(sizeof(*pgd) * 2),
 | 
				
			||||||
	       (u32)(sizeof(*pgd) * 2), (u64)pgd_val(*pgd));
 | 
							 (u64)pgd_val(*pgd));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	do {
 | 
						do {
 | 
				
			||||||
		pud_t *pud;
 | 
							pud_t *pud;
 | 
				
			||||||
| 
						 | 
					@ -61,33 +61,33 @@ static void show_pte(struct mm_struct *mm, unsigned long addr)
 | 
				
			||||||
			break;
 | 
								break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if (pgd_bad(*pgd)) {
 | 
							if (pgd_bad(*pgd)) {
 | 
				
			||||||
			printk("(bad)");
 | 
								pr_cont("(bad)");
 | 
				
			||||||
			break;
 | 
								break;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		pud = pud_offset(pgd, addr);
 | 
							pud = pud_offset(pgd, addr);
 | 
				
			||||||
		if (PTRS_PER_PUD != 1)
 | 
							if (PTRS_PER_PUD != 1)
 | 
				
			||||||
			printk(", *pud=%0*Lx", (u32)(sizeof(*pud) * 2),
 | 
								pr_cont(", *pud=%0*llx", (u32)(sizeof(*pud) * 2),
 | 
				
			||||||
			       (u64)pud_val(*pud));
 | 
									(u64)pud_val(*pud));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if (pud_none(*pud))
 | 
							if (pud_none(*pud))
 | 
				
			||||||
			break;
 | 
								break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if (pud_bad(*pud)) {
 | 
							if (pud_bad(*pud)) {
 | 
				
			||||||
			printk("(bad)");
 | 
								pr_cont("(bad)");
 | 
				
			||||||
			break;
 | 
								break;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		pmd = pmd_offset(pud, addr);
 | 
							pmd = pmd_offset(pud, addr);
 | 
				
			||||||
		if (PTRS_PER_PMD != 1)
 | 
							if (PTRS_PER_PMD != 1)
 | 
				
			||||||
			printk(", *pmd=%0*Lx", (u32)(sizeof(*pmd) * 2),
 | 
								pr_cont(", *pmd=%0*llx", (u32)(sizeof(*pmd) * 2),
 | 
				
			||||||
			       (u64)pmd_val(*pmd));
 | 
									(u64)pmd_val(*pmd));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if (pmd_none(*pmd))
 | 
							if (pmd_none(*pmd))
 | 
				
			||||||
			break;
 | 
								break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if (pmd_bad(*pmd)) {
 | 
							if (pmd_bad(*pmd)) {
 | 
				
			||||||
			printk("(bad)");
 | 
								pr_cont("(bad)");
 | 
				
			||||||
			break;
 | 
								break;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -96,11 +96,11 @@ static void show_pte(struct mm_struct *mm, unsigned long addr)
 | 
				
			||||||
			break;
 | 
								break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		pte = pte_offset_kernel(pmd, addr);
 | 
							pte = pte_offset_kernel(pmd, addr);
 | 
				
			||||||
		printk(", *pte=%0*Lx", (u32)(sizeof(*pte) * 2),
 | 
							pr_cont(", *pte=%0*llx", (u32)(sizeof(*pte) * 2),
 | 
				
			||||||
		       (u64)pte_val(*pte));
 | 
								(u64)pte_val(*pte));
 | 
				
			||||||
	} while (0);
 | 
						} while (0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	printk("\n");
 | 
						pr_cont("\n");
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static inline pmd_t *vmalloc_sync_one(pgd_t *pgd, unsigned long address)
 | 
					static inline pmd_t *vmalloc_sync_one(pgd_t *pgd, unsigned long address)
 | 
				
			||||||
| 
						 | 
					@ -188,14 +188,12 @@ show_fault_oops(struct pt_regs *regs, unsigned long address)
 | 
				
			||||||
	if (!oops_may_print())
 | 
						if (!oops_may_print())
 | 
				
			||||||
		return;
 | 
							return;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	printk(KERN_ALERT "BUG: unable to handle kernel ");
 | 
					 | 
				
			||||||
	if (address < PAGE_SIZE)
 | 
					 | 
				
			||||||
		printk(KERN_CONT "NULL pointer dereference");
 | 
					 | 
				
			||||||
	else
 | 
					 | 
				
			||||||
		printk(KERN_CONT "paging request");
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	printk(KERN_CONT " at %08lx\n", address);
 | 
					 | 
				
			||||||
	printk(KERN_ALERT "PC:");
 | 
						printk(KERN_ALERT "PC:");
 | 
				
			||||||
 | 
						pr_alert("BUG: unable to handle kernel %s at %08lx\n",
 | 
				
			||||||
 | 
							 address < PAGE_SIZE ? "NULL pointer dereference"
 | 
				
			||||||
 | 
									     : "paging request",
 | 
				
			||||||
 | 
							 address);
 | 
				
			||||||
 | 
						pr_alert("PC:");
 | 
				
			||||||
	printk_address(regs->pc, 1);
 | 
						printk_address(regs->pc, 1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	show_pte(NULL, address);
 | 
						show_pte(NULL, address);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue