Early backport of Vhost regression fix in LTS branches

Kevin Traynor ktraynor at redhat.com
Tue Sep 20 13:03:25 CEST 2022


On 20/09/2022 10:36, Maxime Coquelin wrote:
> Hi LTS maintainers,
> 
> We have discovered a regression causing deadlock in application using
> the Vhost library (when vIOMMU is used & NUMA reallocation happens).
> 
> The faulty commit [0] got backported in all maintained LTS branches,
> following minor releases are impacted:
> - V21.11.1+
> - V20.11.5+
> - V19.11.12+
> 
> The fix for this regression is already in main branch, and will be part
> of next v22.11 release.
> 
> Discussing with Kevin, he suggested the fix to be backported early to
> all the LTS branches.
> 

This issue is a deadlock likely to occur with an application such as 
OVS, that uses vIOMMU vhost ports and a multi-NUMA system.

In normal circumstances, for example with OVS, we could just recommend 
users not to upgrade to the latest DPDK LTS releases until the issue is 
fixed. Where this one gets tricky is that the latest LTS releases 
contains CVE fixes.

At the moment if a user wants the CVE fixes *and* the below deadlock 
fix, they will have to pick patches themselves. It might help some if 
the DPDK stable branches (which are still at last release point) 
backport the fix below early so a user can just pull the branch.

> Below is the fix to be backported:
> 
> ======================================================================
> commit 0b2a2ca35037d6a5168f0832c11d9858b8ae946a
> Author: David Marchand <david.marchand at redhat.com>
> Date:   Mon Jul 25 22:32:03 2022 +0200
> 
>       vhost: fix virtqueue use after free on NUMA reallocation
> 
>       translate_ring_addresses (via numa_realloc) may change a virtio
> device and
>       virtio queue.
>       The virtqueue object must be refreshed before accessing the lock.
> 
>       Fixes: 04c27cb673b9 ("vhost: fix unsafe vring addresses modifications")
>       Cc: stable at dpdk.org
> 
>       Signed-off-by: David Marchand <david.marchand at redhat.com>
>       Reviewed-by: Maxime Coquelin <maxime.coquelin at redhat.com>
> ======================================================================
> 
> The fix can be backported without conflicts to all the LTS branches,
> except for v19.11, for which the Vhost directory rename can cause
> issues. It can be overcome using below command:
> 
> git cherry-pick -Xfind-renames=5% 0b2a2ca350
> 
> Is that OK for you?
> 

I can take care of it for all branches if other maintainers are busy and 
ok with that.

thanks,
Kevin.

> Please let me know if any issue.
> 
> Thanks,
> Maxime
> 
> [0]: https://git.dpdk.org/dpdk/commit/?id=04c27cb673b9
> 



More information about the stable mailing list