On Thu, Nov 9, 2017 at 7:29 PM, Colin King <colin.k...@canonical.com> wrote: > From: Colin Ian King <colin.k...@canonical.com> > > upcall may be assigned a NULL pointer as genlmsg_put can potentially > return a NULL. Add a null check to avoid a null pointer dereference > on upcall. > > Detected by CoverityScan, CID#728404 ("Dereference null return value") > > Fixes: commit ccb1352e76cf ("net: Add Open vSwitch kernel components.") > Signed-off-by: Colin Ian King <colin.k...@canonical.com> > --- > net/openvswitch/datapath.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/net/openvswitch/datapath.c b/net/openvswitch/datapath.c > index 4d38ac044cee..e8fb3d76fa6e 100644 > --- a/net/openvswitch/datapath.c > +++ b/net/openvswitch/datapath.c > @@ -461,6 +461,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 = -ENOBUFS; > + goto out; > + } user_skb is allocated according to all required attributes, so genlmsg_put() can not return null value.
> upcall->dp_ifindex = dp_ifindex; > > err = ovs_nla_put_key(key, key, OVS_PACKET_ATTR_KEY, false, user_skb); > -- > 2.14.1 > > _______________________________________________ > dev mailing list > d...@openvswitch.org > https://mail.openvswitch.org/mailman/listinfo/ovs-dev _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev