On 27/04/18 20:42, Sinan Kaya wrote:
On 4/27/2018 11:54 AM, Robin Murphy wrote:

ubuntu@ubuntu:~/amdgpu$_./vectoradd_hip.exe
[  834.002206] create_process:620
[  837.413021] Unable to handle kernel NULL pointer dereference at virtual 
address 00000018

£5 says that's sg_dma_len(NULL), which implies either that something's gone 
horribly wrong with the scatterlist DMA mapping such that the lengths don't 
match, or much more likely that ttm.dma_address is NULL and I've missed the 
tiny subtlety below. Does that fix matters?

Turned out to be a null pointer problem after sg_next(). The following helped.

Ugh, right, the whole thing's in the wrong place such that when addrs is valid we can dereference junk on the way out of the loop (entirely needlessly)... v3 coming up.

Robin.


+               if (addrs && (dma_len == 0)) {
                         dma_sg = sg_next(dma_sg);
-                       dma_len = sg_dma_len(dma_sg);
-                       addr = sg_dma_address(dma_sg);
+                       if (dma_sg) {
+                               dma_len = sg_dma_len(dma_sg);
+                               addr = sg_dma_address(dma_sg);
+                       }
                 }
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to