On Thu, Aug 3, 2017 at 11:15 AM, Chris Wilson <[email protected]>
wrote:

> Quoting Jason Ekstrand (2017-08-03 19:06:02)
> > I'm not concerned about what happens to racy clients.  They get what
> they get.
> > What concerns me is what happens if somehow the fence is replaced and
> deleted
> > before i915_gem_request_await_dma_fence takes it's reference.  Can this
> cause
> > the kernel to segfault?
>
> Gotcha, yup nothing prevents that.
>
>         fence = dma_fence_get_rcu_safe(&syncobj->fence);
>         if (!fence)
>                 return -EINVAL;
>
>         err = await_fence();
>         dma_fence_put(fence);
>         if (err < 0)
>                 return;
>
> Happy?
>

Assuming dma_fence_get_rcu_safe does what I think it does, then yes.
_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to