| From foo@baz Tue 03 Dec 2019 11:07:30 AM CET |
| From: Paolo Abeni <pabeni@redhat.com> |
| Date: Sun, 1 Dec 2019 18:41:24 +0100 |
| Subject: openvswitch: drop unneeded BUG_ON() in ovs_flow_cmd_build_info() |
| |
| From: Paolo Abeni <pabeni@redhat.com> |
| |
| [ 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 | 5 ++++- |
| 1 file changed, 4 insertions(+), 1 deletion(-) |
| |
| --- a/net/openvswitch/datapath.c |
| +++ b/net/openvswitch/datapath.c |
| @@ -920,7 +920,10 @@ static struct sk_buff *ovs_flow_cmd_buil |
| 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; |
| } |
| |