I've seen this crash twice recently: Bad Address (null pointer deref?): Code=6 (Instruction TLB miss fault) at addr 00000000e5361d5f Kernel panic - not syncing: Bad Address (null pointer deref?) The message indicates parisc_terminate() was from do_page_fault(). It would seem either !mm or !user_mode(regs). Might be an exception that wasn't handled by fixup_exception(). In parisc_terminate(), we have: printk("\n"); pr_crit("%s: Code=%d (%s) at addr " RFMT "\n", msg, code, trap_name(code), offset); show_regs(regs); spin_unlock(&terminate_lock); /* put soft power button back under hardware control; * if the user had pressed it once at any time, the * system will shut down immediately right here. */ pdc_soft_power_button(0); /* Call kernel panic() so reboot timeouts work properly * FIXME: This function should be on the list of * panic notifiers, and we should call panic * directly from the location that we wish. * e.g. We should not call panic from * parisc_terminate, but rather the oter way around. * This hack works, prints the panic message twice, * and it enables reboot timers! */ panic(msg); dave@mx3210:~$ cat /proc/sys/kernel/printk 7 4 1 7 Since the regs weren't displayed, this implies that user_mode(regs) is true. Thus I think we have a user mode fault with no context: tsk = current; mm = tsk->mm; if (!mm) goto no_context; It would be helpful level in show_regs if the printk log level was set to KERN_CRIT when this happens. Dave -- John David Anglin dave.anglin@xxxxxxxx