openvswitch: drop unneeded BUG_ON() in ovs_flow_cmd_build_info()
authorPaolo Abeni <pabeni@redhat.com>
Sun, 1 Dec 2019 17:41:24 +0000 (18:41 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 4 Dec 2019 21:30:58 +0000 (22:30 +0100)
[ Upstream commit 8ffeb03fbba3b599690b361467bfd2373e8c450f ]

All the callers of ovs_flow_cmd_build_info() already deal with
error return code correctly, so we can handle the error condition
in a more gracefull way. Still dump a warning to preserve
debuggability.

v1 -> v2:
 - clarify the commit message
 - clean the skb and report the error (DaveM)

Fixes: ccb1352e76cf ("net: Add Open vSwitch kernel components.")
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
net/openvswitch/datapath.c

index ce38633..230e364 100644 (file)
@@ -886,7 +886,10 @@ static struct sk_buff *ovs_flow_cmd_build_info(const struct sw_flow *flow,
        retval = ovs_flow_cmd_fill_info(flow, dp_ifindex, skb,
                                        info->snd_portid, info->snd_seq, 0,
                                        cmd, ufid_flags);
-       BUG_ON(retval < 0);
+       if (WARN_ON_ONCE(retval < 0)) {
+               kfree_skb(skb);
+               skb = ERR_PTR(retval);
+       }
        return skb;
 }