[dpdk-stable] [PATCH] vfio: fix getting default container

David Marchand david.marchand at redhat.com
Mon Nov 4 20:35:10 CET 2019


On Mon, Nov 4, 2019 at 6:41 PM Anatoly Burakov
<anatoly.burakov at intel.com> wrote:
>
> When requesting DMA mapping to default container, we are meant to
> supply the RTE_VFIO_DEFAULT_CONTAINER_FD value, however this is
> not handled correctly by get_vfio_cfg_by_container_fd(), because
> it only looks at actual fd values and does not check for this
> special case.
>
> Fix it to return default container if the fd requested is the
> special RTE_VFIO_DEFAULT_CONTAINER_FD value.
>
> Fixes: 4f5519ed8349 ("vfio: cleanup getting group fd")

RTE_VFIO_DEFAULT_CONTAINER_FD has been introduced in 4106d89a18f8
("vfio: allow DMA map to the default container") (19.05) as part of
the rework deprecating rte_vfio_dma_map.


>
> Signed-off-by: Anatoly Burakov <anatoly.burakov at intel.com>
> ---
>  lib/librte_eal/linux/eal/eal_vfio.c | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/lib/librte_eal/linux/eal/eal_vfio.c b/lib/librte_eal/linux/eal/eal_vfio.c
> index d9541b1220..d7887388f9 100644
> --- a/lib/librte_eal/linux/eal/eal_vfio.c
> +++ b/lib/librte_eal/linux/eal/eal_vfio.c
> @@ -412,6 +412,9 @@ get_vfio_cfg_by_container_fd(int container_fd)
>  {
>         int i;
>
> +       if (container_fd == RTE_VFIO_DEFAULT_CONTAINER_FD)
> +               return default_vfio_cfg;
> +
>         for (i = 0; i < VFIO_MAX_CONTAINERS; i++) {
>                 if (vfio_cfgs[i].vfio_container_fd == container_fd)
>                         return &vfio_cfgs[i];
> --
> 2.17.1

Reviewed-by: David Marchand <david.marchand at redhat.com>

Shahaf, can you review this patch please?
Thanks.

-- 
David Marchand



More information about the stable mailing list