summaryrefslogtreecommitdiffstats
path: root/drivers/uwb/uwbd.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2010-11-21 22:07:12 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2010-11-23 20:11:43 +0000
commitbcf50e2775bbc3101932d8e4ab8c7902aa4163b4 (patch)
treefa83645166876c378d911a8db8e6433e89a52179 /drivers/uwb/uwbd.c
parentda79de97d254145dcb7c08c978b1093eac15ec9c (diff)
downloadlinux-bcf50e2775bbc3101932d8e4ab8c7902aa4163b4.tar.gz
linux-bcf50e2775bbc3101932d8e4ab8c7902aa4163b4.tar.bz2
linux-bcf50e2775bbc3101932d8e4ab8c7902aa4163b4.zip
drm/i915: Handle pagefaults in execbuffer user relocations
Currently if we hit a pagefault when applying a user relocation for the execbuffer, we bail and return EFAULT to the application. Instead, we need to unwind, drop the dev->struct_mutex, copy all the relocation entries to a vmalloc array (to avoid any potential circular deadlocks when resolving the pagefault), retake the mutex and then apply the relocations. Afterwards, we need to again drop the lock and copy the vmalloc array back to userspace. v2: Incorporate feedback from Daniel Vetter. Reported-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/uwb/uwbd.c')
0 files changed, 0 insertions, 0 deletions