summaryrefslogtreecommitdiff
path: root/datapath
diff options
context:
space:
mode:
authorPaolo Abeni <pabeni@redhat.com>2020-10-12 13:25:03 -0700
committerIlya Maximets <i.maximets@ovn.org>2020-10-17 17:32:06 +0200
commit90b36b02115f1e82684b571936aa4802b170964f (patch)
treebb52917d3852faff57af3654fc30834163987c52 /datapath
parent244674ed7cdd9a0c5e1d212e01b1e4fefbb6a32d (diff)
downloadopenvswitch-90b36b02115f1e82684b571936aa4802b170964f.tar.gz
datapath: drop unneeded BUG_ON() in ovs_flow_cmd_build_info()
Upstream commit: commit 8ffeb03fbba3b599690b361467bfd2373e8c450f Author: Paolo Abeni <pabeni@redhat.com> Date: Sun Dec 1 18:41:24 2019 +0100 openvswitch: drop unneeded BUG_ON() in ovs_flow_cmd_build_info() 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> Acked-by: Yi-Hung Wei <yihung.wei@gmail.com> Signed-off-by: Greg Rose <gvrose8192@gmail.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
Diffstat (limited to 'datapath')
-rw-r--r--datapath/datapath.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/datapath/datapath.c b/datapath/datapath.c
index 1020fee41..9448a4c1a 100644
--- a/datapath/datapath.c
+++ b/datapath/datapath.c
@@ -946,7 +946,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;
}