[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v4 08/18] xen/pvcalls: implement connect command
On Tue, 20 Jun 2017, Boris Ostrovsky wrote: > >> + > >> static int pvcalls_back_connect(struct xenbus_device *dev, > >> struct xen_pvcalls_request *req) > >> { > >> + struct pvcalls_fedata *fedata; > >> + int ret = -EINVAL; > >> + struct socket *sock; > >> + struct sock_mapping *map; > >> + struct xen_pvcalls_response *rsp; > >> + > >> + fedata = dev_get_drvdata(&dev->dev); > >> + > >> + ret = sock_create(AF_INET, SOCK_STREAM, 0, &sock); > >> + if (ret < 0) > >> + goto out; > >> + ret = inet_stream_connect(sock, (struct sockaddr *)&req->u.connect.addr, > >> + req->u.connect.len, req->u.connect.flags); > >> + if (ret < 0) { > >> + sock_release(sock); > >> + goto out; > >> + } > >> + > >> + map = pvcalls_new_active_socket(fedata, > >> + req->u.connect.id, > >> + req->u.connect.ref, > >> + req->u.connect.evtchn, > >> + sock); > >> + if (!map) { > >> + sock_release(map->sock); > >> + goto out; > > Unnecessary goto. > > Oh, and also ret needs to be set since it will be cleared by > inet_stream_connect(). Right, thanks! > > > >> + } > >> + > >> +out: > >> + rsp = RING_GET_RESPONSE(&fedata->ring, fedata->ring.rsp_prod_pvt++); > >> + rsp->req_id = req->req_id; > >> + rsp->cmd = req->cmd; > >> + rsp->u.connect.id = req->u.connect.id; > >> + rsp->ret = ret; > >> + > >> + return ret; > > > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |