On Fri, Jul 12, 2013 at 11:53:30AM -0500, Steve Wise wrote:
 > On 7/12/2013 11:48 AM, Dave Jones wrote:
 > > On Fri, Jul 12, 2013 at 10:48:21AM -0500, Steve Wise wrote:
 > >   
 > >   > So 'movb   $0x0,0xe(%rax,%rdx,1)' should be storing 0 into the byte
 > >   > location:
 > >   >
 > >   > %rax + 0xe + (%rdx * 1) ==
 > >   > 0x40fc+ 0xe + 0xffff8808b5500000 ==
 > >   > 0xffff8808b5540fce.
 > >   >
 > >   > That address is readable in the crash dump:
 > >   >
 > >   > crash> x/8b 0x0000000000040fc0+0xe+0xffff8808b5500000
 > >   > 0xffff8808b5540fce:     0x00    0x00    0x00    0x00    0x00 0x00
 > >   > 0x00    0x00
 > >   >
 > >   > And why does the page fault show 0x40fc0 as the faulting address?  It
 > >   > should be 0xffff8808b5540fce and it shouldn't have caused a page fault.
 > >   >
 > >   > What am I missing?
 > >
 > > Random guess: Is that page marked read-only perhaps ?
 > 
 > It shouldn't be. :)  How can I get this info via the crash dump? The 
 > memory was allocated with dma_alloc_coherent().   Why would the page 
 > fault occur on 0x40fc0 though?  That makes me think my analysis so far 
 > is incorrect.

Hmm, good point. Do you have the Code: line from the oops ?
Does that match the disassembly ?

        Dave

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to