On 09/02/18 09:12 AM, Christian König wrote:
No, there is simply no need to initialize the system domain. What are
the values of p->mapping and adev->mman.bdev.dev_mapping when they don't
match? Maybe we are allocating memory before initializing
adev->mman.bdev.dev_mapping.
In my test setup I'm running test 3 from libdrm (suite 1) with a pause
before the unmap/free call. So the IB should still be mapped. Indeed
the VM PTE decoding has the V bit set.
Or do you have more than one GPU in the system? E.g. APU+dGPU? Could it
be that you read through the wrong device?
I found the issue:
while (size) {
phys_addr_t addr = *pos & PAGE_MASK;
loff_t off = *pos & ~PAGE_MASK;
size_t bytes = PAGE_SIZE - off;
"bytes" should be limited by the 'size' parameter passed in. What is
happening instead is it's reading the entire PTB until it hits a V=0
page and then returns an error and in the process is doing "fun things"
to the user mode application (by copying more data than I asked for).
Tom
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel