Mesa (master): anv: Check that in_fence fd is valid before closing it.
Francisco Jerez
currojerez at kemper.freedesktop.org
Tue Aug 22 19:04:07 UTC 2017
Module: Mesa
Branch: master
Commit: e29ccaac298d04ad4272af2d8b8d7a953c523e28
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e29ccaac298d04ad4272af2d8b8d7a953c523e28
Author: Francisco Jerez <currojerez at riseup.net>
Date: Fri Aug 18 12:04:55 2017 -0700
anv: Check that in_fence fd is valid before closing it.
Probably harmless, but will overwrite errno with a failure status
code. Reported by coverity.
CID 1416600: Argument cannot be negative (NEGATIVE_RETURNS)
Fixes: 5c4e4932e02 (anv: Implement support for exporting semaphores as FENCE_FD)
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
---
src/intel/vulkan/anv_batch_chain.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/intel/vulkan/anv_batch_chain.c b/src/intel/vulkan/anv_batch_chain.c
index 26b5375903..1e7455f71e 100644
--- a/src/intel/vulkan/anv_batch_chain.c
+++ b/src/intel/vulkan/anv_batch_chain.c
@@ -1571,7 +1571,8 @@ anv_cmd_buffer_execbuf(struct anv_device *device,
result = anv_device_execbuf(device, &execbuf.execbuf, execbuf.bos);
/* Execbuf does not consume the in_fence. It's our job to close it. */
- close(in_fence);
+ if (in_fence != -1)
+ close(in_fence);
for (uint32_t i = 0; i < num_in_semaphores; i++) {
ANV_FROM_HANDLE(anv_semaphore, semaphore, in_semaphores[i]);
More information about the mesa-commit
mailing list