Re: [PATCH 5/5] drm/amdgpu: replace iova debugfs file with iomem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Am 09.02.2018 um 15:51 schrieb Tom St Denis:
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).

Ah, obvious problem.

Do you want to fix it or should I take a look? You wanted to add write support as well anyway IIRC.

I've just pushed the first three patches from that series to amd-staging-drm-next.

Thanks for testing,
Christian.



Tom

_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux