[dpdk-dev] [PATCH] vfio: fix read-after-free on getting container fd

Burakov, Anatoly anatoly.burakov at intel.com
Fri Oct 26 16:04:27 CEST 2018


On 25-Oct-18 11:49 AM, Darek Stojaczyk wrote:
> We were reading some memory just after freeing it.
> 
> Fixes: 83a73c5fef66 ("vfio: use generic multi-process channel")
> Cc: jianfeng.tan at intel.com
> Cc: anatoly.burakov at intel.com
> Cc: stable at dpdk.org
> 
> Signed-off-by: Darek Stojaczyk <dariusz.stojaczyk at intel.com>
> ---
>   lib/librte_eal/linuxapp/eal/eal_vfio.c | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/lib/librte_eal/linuxapp/eal/eal_vfio.c b/lib/librte_eal/linuxapp/eal/eal_vfio.c
> index d7268e4ce..fc3c7b870 100644
> --- a/lib/librte_eal/linuxapp/eal/eal_vfio.c
> +++ b/lib/librte_eal/linuxapp/eal/eal_vfio.c
> @@ -1034,8 +1034,9 @@ rte_vfio_get_container_fd(void)
>   		mp_rep = &mp_reply.msgs[0];
>   		p = (struct vfio_mp_param *)mp_rep->param;
>   		if (p->result == SOCKET_OK && mp_rep->num_fds == 1) {
> +			vfio_container_fd = mp_rep->fds[0];
>   			free(mp_reply.msgs);
> -			return mp_rep->fds[0];
> +			return vfio_container_fd;
>   		}
>   		free(mp_reply.msgs);
>   	}
> 

Acked-by: Anatoly Burakov <anatoly.burakov at intel.com>

-- 
Thanks,
Anatoly


More information about the dev mailing list