sync_file: Return consistent status in SYNC_IOC_FILE_INFO
authorJohn Einar Reitan <john.reitan@arm.com>
Mon, 9 Oct 2017 13:49:36 +0000 (15:49 +0200)
committerGustavo Padovan <gustavo.padovan@collabora.com>
Mon, 9 Oct 2017 16:09:19 +0000 (13:09 -0300)
commitf7974880cf869ddbd0ba9a8e2ab11dff4a667f96
tree4af4bb0a2408c66ff77c5bf441a23ec4643cf81e
parent78279127253a6c36ed8829eb2b7bc28ef48d9717
sync_file: Return consistent status in SYNC_IOC_FILE_INFO

sync_file_ioctl_fence_info has a race between filling the status
of the underlying fences and the overall status of the sync_file.
If fence transitions in the time frame between its sync_fill_fence_info
and the later dma_fence_is_signaled for the sync_file, the returned
information is inconsistent showing non-signaled underlying fences but
an overall signaled state.

This patch changes sync_file_ioctl_fence_info to track what has been
encoded and using that as the overall sync_file status.

Tested-by: Vamsidhar Reddy Gaddam <vamsidhar.gaddam@arm.com>
Signed-off-by: John Einar Reitan <john.reitan@arm.com>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: Gustavo Padovan <gustavo@padovan.org>
Cc: dri-devel@lists.freedesktop.org
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20171009134936.27219-1-john.reitan@arm.com
drivers/dma-buf/sync_file.c