]> git.proxmox.com Git - ovs.git/commit
ofproto-dpif-upcall: Don't purge ukeys while in a quiescent state.
authorBen Pfaff <blp@ovn.org>
Fri, 2 Nov 2018 18:25:45 +0000 (11:25 -0700)
committerBen Pfaff <blp@ovn.org>
Tue, 6 Nov 2018 15:21:42 +0000 (07:21 -0800)
commit2345de01f848e13c67edc6dad0b05cb1b83164ec
treec1e072acc514c8eace98fbc4fc8a9db92b963789
parent90061ea7d1dd90fd5bf4be2bbae3cd301ad71033
ofproto-dpif-upcall: Don't purge ukeys while in a quiescent state.

revalidator_purge() iterates and modifies umap->cmap. This should
not happen in quiescent state, because cmap implementation based
on rcu protected variables. Let's narrow the quiescent period
to avoid possible wrong memory accesses.

CC: Joe Stringer <joe@ovn.org>
Fixes: 9fce0584a643 ("revalidator: Use 'cmap' for storing ukeys.")
Reported-by: Ilya Maximets <i.maximets@samsung.com>
Acked-by: Ilya Maximets <i.maximets@samsung.com>
Signed-off-by: Ben Pfaff <blp@ovn.org>
ofproto/ofproto-dpif-upcall.c