Weird kernel mode data abort panic on Zedboard.

Oleksandr Tymoshenko gonzo at bluezbox.com
Tue Mar 5 01:21:12 UTC 2013


On 3/4/2013 4:49 PM, Thomas Skibo wrote:
>
> Hello, again.
>
> I thought I'd describe this kernel panic and see if anyone has seen 
> anything similar.  This is on the Zedboard (ARM Cortex-A9 armv6).
>
> I can consistently panic the kernel by ftp'ing files to a local 
> filesystem.  It crashes every fourth time or so in the same manner.  
> The specific fault is a 'Permission Fault (P)' on the first page of 
> data in a file buf.
>
> The fault occurs in ffs_write() when it attempts to uiomove/copyin 
> data from user space to the file buf.  The first write faults but 
> copyin() catches the fault and then calls vfs_bio_clrbuf() which tries 
> to zero out the buf data.  It's the second fault that causes the panic.
>
> Using Xilinx's XMD tool, I can walk the page table in physical memory 
> and find the PTE.  It is always okay and has priviledged read and 
> write permissions.  Curiously, sometimes I get another permission 
> fault if I try to read from the fault address in the debugger.  That 
> tells me there is a stale TLB entry without read permissions either.  
> The other buf pages seem okay.
>
> Any ideas?  I can duplicate this with l2 cache turned off.  I can also 
> duplicate it using a USB-ethernet interface instead of the Zynq cgem 
> ethernet interface so it's not that driver.

Just a hunch here - looks like TLB entry is not update properly. Might 
be missing
PTE_SYNC in pmap-v6.c. Or current PTE_SYNC implementation does not cover
all requirements for your platform. I'd say latter - but without proper 
debugging
it's just guesswork.


More information about the freebsd-arm mailing list