[Intel-gfx] [PATCH 1/2] drm/i915: Don't drop pinned fences

Daniel Vetter daniel.vetter at ffwll.ch
Mon Jan 27 22:41:57 CET 2014


On Mon, Jan 27, 2014 at 10:26 PM, Chris Wilson <chris at chris-wilson.co.uk> wrote:
> On Mon, Jan 27, 2014 at 09:49:47PM +0100, Daniel Vetter wrote:
>> Userspace can currently provoke this when e.g. trying to use a pinned
>> scanout as a cursor or overlay target. Later on that might lead to
>> some fun fence pin count mayhem.
>>
>> Spurred by Ville's report that something goes wrong here and
>> originally I've thought that this might slip through the pwrite gtt
>> fastpath. But that one checks of obj tiling, so should be ok.
>>
>> But one thing that _does_ blow up is the vma unbinding with more than
>> one address space. The next patch will fix this.
>
> It's buggy behaviour, so if (WARN_ON(fence->pin_count) return -EBUSY;
>
> I did worry that we would then have some unexpected failure, a new EBUSY
> returning to userspace, but I think along the paths that can trigger it,
> we have already returned EBUSY in the (dim and distant) past.

Indeed we seem to have the required tiling checks everywhere. At first
I've had the WARN but then though userspace could sneak in through the
cursor/overlay code, but it can't. I'll update the patch.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch



More information about the Intel-gfx mailing list