[dpdk-dev] [PATCH] vfio: fix close unchecked file descriptor

Patrick MacArthur patrick at patrickmacarthur.net
Wed Sep 20 16:34:54 CEST 2017


On 09/20/2017 05:59 AM, Kuba Kozak wrote:
> Add file descriptor value check before calling close() function.
> 
> Coverity issue: 141297
> Fixes: 811b6b25060f ("vfio: fix file descriptor leak in multi-process")
> Cc: patrick at patrickmacarthur.net
> Cc: stable at dpdk.org
> 
> Signed-off-by: Kuba Kozak <kubax.kozak at intel.com>
> ---
>   lib/librte_eal/linuxapp/eal/eal_vfio_mp_sync.c | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/lib/librte_eal/linuxapp/eal/eal_vfio_mp_sync.c b/lib/librte_eal/linuxapp/eal/eal_vfio_mp_sync.c
> index 7e8095c..c04f548 100644
> --- a/lib/librte_eal/linuxapp/eal/eal_vfio_mp_sync.c
> +++ b/lib/librte_eal/linuxapp/eal/eal_vfio_mp_sync.c
> @@ -301,7 +301,8 @@ vfio_mp_sync_thread(void __rte_unused * arg)
>   				vfio_mp_sync_send_request(conn_sock, SOCKET_ERR);
>   			else
>   				vfio_mp_sync_send_fd(conn_sock, fd);
> -			close(fd);
> +			if (fd != -1)
> +				close(fd);

IMHO this should be:

         if (fd >= 0)

What specifically is Coverity complaining about here? Is there a 
specific code path that leads to fd being -1 here?

Thanks,
Patrick MacArthur


More information about the dev mailing list