Hi Rafael,
2016-09-14 Rafael Antognolli rafael.antognolli@intel.com:
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.
Signed-off-by: Rafael Antognolli rafael.antognolli@intel.com
drivers/dma-buf/sync_file.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)
Yes, mention the igt test case would be good.
Otherwise:
Reviewed-by: Gustavo Padovan gustavo.padovan@collabora.co.uk
Gustavo