So, it's a simple null pointer dereference. Now we have two questions:
* How/why did radeon_drm_bufmgr_create_buffer_from_handle() give us a null pointer?
* If that is a permissible return value, the code should check for it. Should it still call radeon_libdrm_winsys_buffer() in this case, or just return?
Ok, that backtrace makes it pretty plain what's gone wrong:
Code: drm_bufmgr_ create_ buffer_ from_handle( ws->kman, whandle->handle);
_buf = radeon_
if (stride)
*stride = whandle->stride;
if (size)
*size = _buf->base.size;
State: r300_winsys_ buffer_ from_handle (rws=<value optimized out>, whandle= 0x7fffe69964b0, stride= 0x7fffe69963f4, size=0x7fffe699 63f0) at radeon_r300.c:123
#0 radeon_
ws = <value optimized out>
_buf = 0x0
So, it's a simple null pointer dereference. Now we have two questions:
* How/why did radeon_ drm_bufmgr_ create_ buffer_ from_handle( ) give us a null pointer? libdrm_ winsys_ buffer( ) in this case, or just return?
* If that is a permissible return value, the code should check for it. Should it still call radeon_