Benjamin Herrenschmidt [off-list ref] wrote on 06/10/2009 00:37:28:
On Tue, 2009-10-06 at 00:31 +0200, Joakim Tjernlund wrote:
quoted
regs or regs->nip is NULL? Either one does not make sense
In any case it might be a secondary problem as DAR is NULL already
when you
enter the page fault.
quoted
insn = *((unsigned long *)regs->nip);
c000e110: 80 a9 00 00 lwz r5,0(r9)
fails.
hmm, I wonder if you managed to invalidate the a kernel TLB?
Are you using pinned kernel TLBs?
You should not dereference a user address like that. Use get_user !
Ah, forgot about that. Will change
Obviously you got 0 in SRR0 for some reason (somebody tried to jump
to 0, either intentionally or as a result of some other problem) and
the above will crash the kernel when it happens.
Cheers,
Ben.