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