Hi Rafael, On 16 September 2016 at 00:44, Rafael Antognolli <rafael.antognolli@xxxxxxxxx> wrote: > When we merge several fences, if all of them are signaled already, we > still keep one of them. So instead of using add_fence(), which will not > increase the refcount of signaled fences, we should explicitly call > fence_get() for the fence we are keeping. > > This patch fixes a kernel panic that can be triggered by creating a fence that > is expired (or increasing the timeline until it expires), then creating a > merged fence out of it, and deleting the merged fence. This will make the > original expired fence's refcount go to zero. > > Testcase: igt/sw_sync/sync_expired_merge > Signed-off-by: Rafael Antognolli <rafael.antognolli@xxxxxxxxx> > Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> > Reviewed-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Thanks for the patch; applied via drm-misc. > --- > drivers/dma-buf/sync_file.c | 6 ++---- Best, Sumit. _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel