diff options
| -rw-r--r-- | drivers/xen/pvcalls-front.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/xen/pvcalls-front.c b/drivers/xen/pvcalls-front.c index 4f3d664b3f39..01588582ae66 100644 --- a/drivers/xen/pvcalls-front.c +++ b/drivers/xen/pvcalls-front.c | |||
| @@ -31,6 +31,12 @@ | |||
| 31 | #define PVCALLS_NR_RSP_PER_RING __CONST_RING_SIZE(xen_pvcalls, XEN_PAGE_SIZE) | 31 | #define PVCALLS_NR_RSP_PER_RING __CONST_RING_SIZE(xen_pvcalls, XEN_PAGE_SIZE) |
| 32 | #define PVCALLS_FRONT_MAX_SPIN 5000 | 32 | #define PVCALLS_FRONT_MAX_SPIN 5000 |
| 33 | 33 | ||
| 34 | static struct proto pvcalls_proto = { | ||
| 35 | .name = "PVCalls", | ||
| 36 | .owner = THIS_MODULE, | ||
| 37 | .obj_size = sizeof(struct sock), | ||
| 38 | }; | ||
| 39 | |||
| 34 | struct pvcalls_bedata { | 40 | struct pvcalls_bedata { |
| 35 | struct xen_pvcalls_front_ring ring; | 41 | struct xen_pvcalls_front_ring ring; |
| 36 | grant_ref_t ref; | 42 | grant_ref_t ref; |
| @@ -837,7 +843,7 @@ int pvcalls_front_accept(struct socket *sock, struct socket *newsock, int flags) | |||
| 837 | 843 | ||
| 838 | received: | 844 | received: |
| 839 | map2->sock = newsock; | 845 | map2->sock = newsock; |
| 840 | newsock->sk = kzalloc(sizeof(*newsock->sk), GFP_KERNEL); | 846 | newsock->sk = sk_alloc(sock_net(sock->sk), PF_INET, GFP_KERNEL, &pvcalls_proto, false); |
| 841 | if (!newsock->sk) { | 847 | if (!newsock->sk) { |
| 842 | bedata->rsp[req_id].req_id = PVCALLS_INVALID_ID; | 848 | bedata->rsp[req_id].req_id = PVCALLS_INVALID_ID; |
| 843 | map->passive.inflight_req_id = PVCALLS_INVALID_ID; | 849 | map->passive.inflight_req_id = PVCALLS_INVALID_ID; |
