On Mon, Aug 24, 2020 at 9:09 PM David Miller <da...@davemloft.net> wrote:
>
> From: xiangxia.m....@gmail.com
> Date: Mon, 24 Aug 2020 15:36:01 +0800
>
> > To avoid a bug when deleting flows in the future, add
> > BUG_ON in flush flows function.
>
> BUG_ON() is too severe, I think WARN_ON() or similar are sufficient
> because the kernel can try to continue operating if this condition is
> detected.
>
> And you can force the values to zero in such a situation.
Thanks, David
will be changed to:

diff --git a/net/openvswitch/flow_table.c b/net/openvswitch/flow_table.c
index 0473758035b5..5378282e1d13 100644
--- a/net/openvswitch/flow_table.c
+++ b/net/openvswitch/flow_table.c
@@ -492,8 +492,11 @@ void table_instance_flow_flush(struct flow_table *table,
                }
        }

-       BUG_ON(table->count != 0);
-       BUG_ON(table->ufid_count != 0);
+       if (WARN_ON(table->count != 0 ||
+                   table->ufid_count != 0)) {
+               table->count = 0;
+               table->ufid_count = 0
+       }
 }

> Thank you.



-- 
Best regards, Tonghao

Reply via email to