[ovs-dev] [PATCH] datapath: Fix a kernel crash caused by corrupted mask list.

Andy Zhou azhou at nicira.com
Fri Jun 21 14:59:53 UTC 2013


When flow table is copied, the mask list from the old table
is not properly copied into the new table. The corrupted mask
list in the new table will lead to kernel crash. This patch
fixes this bug.

Bug #18110
Reported-by: Justin Pettit <jpettit at nicira.com>
Signed-off-by: Andy Zhou <azhou at nicira.com>
---
 datapath/flow.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/datapath/flow.c b/datapath/flow.c
index 38b9502..5d97ce1 100644
--- a/datapath/flow.c
+++ b/datapath/flow.c
@@ -563,7 +563,7 @@ static void flow_table_copy_flows(struct flow_table *old, struct flow_table *new
 			__tbl_insert(new, flow);
 	}
 
-	new->mask_list = old->mask_list;
+	list_replace(&old->mask_list, &new->mask_list);
 	old->keep_flows = true;
 }
 
-- 
1.7.9.5




More information about the dev mailing list