diff options
| author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2019-04-01 07:49:24 +0200 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2019-04-01 07:49:24 +0200 |
| commit | b397f82585c3101dcf92642dd359891e66d00c55 (patch) | |
| tree | 5f7f711b8582d723e1f4c0bb658b7dcaba656ad4 /net/openvswitch/datapath.c | |
| parent | b60080197af4a78ef0563c90cfca1074034def55 (diff) | |
| parent | 79a3aaa7b82e3106be97842dedfd8429248896e6 (diff) | |
| download | lwn-b397f82585c3101dcf92642dd359891e66d00c55.tar.gz lwn-b397f82585c3101dcf92642dd359891e66d00c55.zip | |
Merge 5.1-rc3 into staging-next
We want those fixes and this resolves an erofs merge conflict.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'net/openvswitch/datapath.c')
| -rw-r--r-- | net/openvswitch/datapath.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/net/openvswitch/datapath.c b/net/openvswitch/datapath.c index 6679e96ab1dc..9dd158ab51b3 100644 --- a/net/openvswitch/datapath.c +++ b/net/openvswitch/datapath.c @@ -448,6 +448,10 @@ static int queue_userspace_packet(struct datapath *dp, struct sk_buff *skb, upcall = genlmsg_put(user_skb, 0, 0, &dp_packet_genl_family, 0, upcall_info->cmd); + if (!upcall) { + err = -EINVAL; + goto out; + } upcall->dp_ifindex = dp_ifindex; err = ovs_nla_put_key(key, key, OVS_PACKET_ATTR_KEY, false, user_skb); @@ -460,6 +464,10 @@ static int queue_userspace_packet(struct datapath *dp, struct sk_buff *skb, if (upcall_info->egress_tun_info) { nla = nla_nest_start(user_skb, OVS_PACKET_ATTR_EGRESS_TUN_KEY); + if (!nla) { + err = -EMSGSIZE; + goto out; + } err = ovs_nla_put_tunnel_info(user_skb, upcall_info->egress_tun_info); BUG_ON(err); @@ -468,6 +476,10 @@ static int queue_userspace_packet(struct datapath *dp, struct sk_buff *skb, if (upcall_info->actions_len) { nla = nla_nest_start(user_skb, OVS_PACKET_ATTR_ACTIONS); + if (!nla) { + err = -EMSGSIZE; + goto out; + } err = ovs_nla_put_actions(upcall_info->actions, upcall_info->actions_len, user_skb); |
