[ovs-dev] [PATCH v3 3/5] ofproto: fix vlans use-after-free issue
Linhaifeng
haifeng.lin at huawei.com
Tue Jun 2 09:26:49 UTC 2020
use ovsrcu_set first then use ovsrcu_postpone
CC: Jarno Rajahalme <jarno at ovn.org>
Fixes: 4f6780691653 (\mirror: Allow concurrent lookups.\)
Acked-by: Yanqin Wei <Yanqin.Wei at arm.com>
Signed-off-by: Linhaifeng <haifeng.lin at huawei.com>
---
ofproto/ofproto-dpif-mirror.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/ofproto/ofproto-dpif-mirror.c b/ofproto/ofproto-dpif-mirror.c
index 343b75f0e..343100c08 100644
--- a/ofproto/ofproto-dpif-mirror.c
+++ b/ofproto/ofproto-dpif-mirror.c
@@ -276,9 +276,9 @@ mirror_set(struct mbridge *mbridge, void *aux, const char *name,
hmapx_destroy(&dsts_map);
if (vlans || src_vlans) {
+ unsigned long *new_vlans = vlan_bitmap_clone(src_vlans);
+ ovsrcu_set(&mirror->vlans, new_vlans);
ovsrcu_postpone(free, vlans);
- vlans = vlan_bitmap_clone(src_vlans);
- ovsrcu_set(&mirror->vlans, vlans);
}
mirror->out = out;
--
2.21.0.windows.1
More information about the dev
mailing list