diff options
| author | Paolo Abeni <pabeni@redhat.com> | 2019-12-01 18:41:24 +0100 |
|---|---|---|
| committer | Ben Hutchings <ben@decadent.org.uk> | 2020-02-11 20:03:52 +0000 |
| commit | 2584c958c3ee1b4a6b1a7052418c29029c56f7ec (patch) | |
| tree | f30f0af1dc264f1caff6fcc37da57e74138e5d82 | |
| parent | 8b62dc7c8374c5f3da14319d94376272e3d72d25 (diff) | |
| download | linux-2584c958c3ee1b4a6b1a7052418c29029c56f7ec.tar.gz linux-2584c958c3ee1b4a6b1a7052418c29029c56f7ec.tar.bz2 linux-2584c958c3ee1b4a6b1a7052418c29029c56f7ec.zip | |
openvswitch: drop unneeded BUG_ON() in ovs_flow_cmd_build_info()
commit 8ffeb03fbba3b599690b361467bfd2373e8c450f upstream.
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>
[bwh: Backported to 3.16: adjust context]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
| -rw-r--r-- | net/openvswitch/datapath.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/net/openvswitch/datapath.c b/net/openvswitch/datapath.c index 15a8a568018c..9dcb7903c01a 100644 --- a/net/openvswitch/datapath.c +++ b/net/openvswitch/datapath.c @@ -788,7 +788,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); - BUG_ON(retval < 0); + if (WARN_ON_ONCE(retval < 0)) { + kfree_skb(skb); + skb = ERR_PTR(retval); + } return skb; } |
