Chris Wilson 5fb252cad6 drm/syncobj: Stop reusing the same struct file for all syncobj -> fd
commit e7cdf5c82f1773c3386b93bbcf13b9bfff29fa31 upstream.

The vk cts test:
dEQP-VK.api.external.semaphore.opaque_fd.export_multiple_times_temporary

triggers a lot of
VFS: Close: file count is 0

Dave pointed out that clearing the syncobj->file from
drm_syncobj_file_release() was sufficient to silence the test, but that
opens a can of worm since we assumed that the syncobj->file was never
unset. Stop trying to reuse the same struct file for every fd pointing
to the drm_syncobj, and allocate one file for each fd instead.

v2: Fixup return handling of drm_syncobj_fd_to_handle
v2.1: [airlied: fix possible syncobj ref race]
v2.2: [jekstrand: back-port to 4.14]

Reported-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Tested-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Tested-by: Clayton Craft <clayton.a.craft@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-03-28 18:24:47 +02:00
..
2017-03-24 09:36:06 +01:00
2017-08-11 10:47:17 +02:00
2017-06-16 13:58:27 +10:00
2017-06-14 12:10:22 +10:00
2017-05-27 15:39:28 -04:00
2017-06-01 08:02:14 +02:00
2016-06-21 22:10:55 +02:00
2017-06-01 08:02:14 +02:00
2017-03-09 16:18:02 +01:00
2018-02-22 15:42:18 +01:00