Re: Oops mystery

From: Steve Wise
Date: Fri Jul 12 2013 - 12:53:30 EST


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.


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