drm/i915: Skip allocating shadow batch for 0-length batches
authorChris Wilson <chris@chris-wilson.co.uk>
Fri, 27 Mar 2015 11:02:10 +0000 (11:02 +0000)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Mon, 30 Mar 2015 14:59:47 +0000 (16:59 +0200)
commitee73c61c0af590ff2c03fb83e68a5664bd8b38d0
treeba7ebcff86c1bdd4e99dffb6f6a94a44d8df040a
parente42391cd048809d903291d07f86ed3934ce138e9
drm/i915: Skip allocating shadow batch for 0-length batches

Since

commit 17cabf571e50677d980e9ab2a43c5f11213003ae
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Jan 14 11:20:57 2015 +0000

    drm/i915: Trim the command parser allocations

we may then try to allocate a zero-sized object and attempt to extract
its pages. Understandably this fails.

Note that the real offender seems to be

commit b9ffd80ed659c559152c042e74741f4f60cac691
Author: Brad Volkin <bradley.d.volkin@intel.com>
Date:   Thu Dec 11 12:13:10 2014 -0800

    drm/i915: Use batch length instead of object size in command parser

Testcase: igt/gem_exec_nop #ivb,byt,hsw
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
[cherry picked from commit 743e78c1d726d875b98ff9689cc77c4d3d5d9ae2
from drm-intel-next because 4.0 seems to be affected by this too,
despite that the obvious culprit is definitely not in 4.0. Whatever,
if fixes a bug.
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
drivers/gpu/drm/i915/i915_gem_execbuffer.c