mirror of
https://github.com/rd-stuffs/msm-4.14.git
synced 2025-02-20 11:45:48 +08:00
openvswitch: remove another BUG_ON()
[ Upstream commit 8a574f86652a4540a2433946ba826ccb87f398cc ] If we can't build the flow del notification, we can simply delete the flow, no need to crash the kernel. Still keep a WARN_ON to preserve debuggability. Note: the BUG_ON() predates the Fixes tag, but this change can be applied only after the mentioned commit. v1 -> v2: - do not leak an skb on error Fixes: aed067783e50 ("openvswitch: Minimize ovs_flow_cmd_del critical section.") 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>
This commit is contained in:
parent
2356f0b95f
commit
796c569498
@ -1372,7 +1372,10 @@ static int ovs_flow_cmd_del(struct sk_buff *skb, struct genl_info *info)
|
|||||||
OVS_FLOW_CMD_DEL,
|
OVS_FLOW_CMD_DEL,
|
||||||
ufid_flags);
|
ufid_flags);
|
||||||
rcu_read_unlock();
|
rcu_read_unlock();
|
||||||
BUG_ON(err < 0);
|
if (WARN_ON_ONCE(err < 0)) {
|
||||||
|
kfree_skb(reply);
|
||||||
|
goto out_free;
|
||||||
|
}
|
||||||
|
|
||||||
ovs_notify(&dp_flow_genl_family, reply, info);
|
ovs_notify(&dp_flow_genl_family, reply, info);
|
||||||
} else {
|
} else {
|
||||||
@ -1380,6 +1383,7 @@ static int ovs_flow_cmd_del(struct sk_buff *skb, struct genl_info *info)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
out_free:
|
||||||
ovs_flow_free(flow, true);
|
ovs_flow_free(flow, true);
|
||||||
return 0;
|
return 0;
|
||||||
unlock:
|
unlock:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user