OpenCloudOS-Kernel/drivers/dma-buf
John Einar Reitan f7974880cf 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
2017-10-09 13:09:19 -03:00
..
Kconfig dma-buf: Rename struct fence to dma_fence 2016-10-25 14:40:39 +02:00
Makefile dma-buf: Rename struct fence to dma_fence 2016-10-25 14:40:39 +02:00
dma-buf.c dma-buf: Adjust a null pointer check in dma_buf_attach() 2017-05-08 20:50:21 +05:30
dma-fence-array.c dma-fence: add dma_fence_match_context helper 2017-03-17 23:51:36 +05:30
dma-fence.c Linux 4.13-rc2 2017-07-27 08:15:43 +10:00
reservation.c dma-buf: fix reservation_object_wait_timeout_rcu to wait correctly v2 2017-08-14 13:01:25 -04:00
seqno-fence.c dma-buf: Rename struct fence to dma_fence 2016-10-25 14:40:39 +02:00
sw_sync.c dma-buf/sw_sync: clean up list before signaling the fence 2017-07-31 14:11:15 -03:00
sync_debug.c Linux 4.13-rc2 2017-07-27 08:15:43 +10:00
sync_debug.h dma-buf/sw-sync: Use an rbtree to sort fences in the timeline 2017-06-29 18:54:07 -03:00
sync_file.c sync_file: Return consistent status in SYNC_IOC_FILE_INFO 2017-10-09 13:09:19 -03:00
sync_trace.h dma-buf/sw_sync: de-stage SW_SYNC 2016-08-15 16:41:46 +02:00