diff options
Diffstat (limited to 'net/sunrpc/svcsock.c')
| -rw-r--r-- | net/sunrpc/svcsock.c | 22 |
1 files changed, 7 insertions, 15 deletions
diff --git a/net/sunrpc/svcsock.c b/net/sunrpc/svcsock.c index 1f97ed49fee2..a98be09768a0 100644 --- a/net/sunrpc/svcsock.c +++ b/net/sunrpc/svcsock.c | |||
| @@ -569,21 +569,13 @@ static int | |||
| 569 | svc_recvfrom(struct svc_rqst *rqstp, struct kvec *iov, int nr, int buflen) | 569 | svc_recvfrom(struct svc_rqst *rqstp, struct kvec *iov, int nr, int buflen) |
| 570 | { | 570 | { |
| 571 | struct svc_sock *svsk = rqstp->rq_sock; | 571 | struct svc_sock *svsk = rqstp->rq_sock; |
| 572 | struct msghdr msg; | 572 | struct msghdr msg = { |
| 573 | struct socket *sock; | 573 | .msg_flags = MSG_DONTWAIT, |
| 574 | int len; | 574 | }; |
| 575 | 575 | int len; | |
| 576 | rqstp->rq_addrlen = sizeof(rqstp->rq_addr); | ||
| 577 | sock = svsk->sk_sock; | ||
| 578 | |||
| 579 | msg.msg_name = &rqstp->rq_addr; | ||
| 580 | msg.msg_namelen = sizeof(rqstp->rq_addr); | ||
| 581 | msg.msg_control = NULL; | ||
| 582 | msg.msg_controllen = 0; | ||
| 583 | |||
| 584 | msg.msg_flags = MSG_DONTWAIT; | ||
| 585 | 576 | ||
| 586 | len = kernel_recvmsg(sock, &msg, iov, nr, buflen, MSG_DONTWAIT); | 577 | len = kernel_recvmsg(svsk->sk_sock, &msg, iov, nr, buflen, |
| 578 | msg.msg_flags); | ||
| 587 | 579 | ||
| 588 | /* sock_recvmsg doesn't fill in the name/namelen, so we must.. | 580 | /* sock_recvmsg doesn't fill in the name/namelen, so we must.. |
| 589 | */ | 581 | */ |
| @@ -591,7 +583,7 @@ svc_recvfrom(struct svc_rqst *rqstp, struct kvec *iov, int nr, int buflen) | |||
| 591 | rqstp->rq_addrlen = svsk->sk_remotelen; | 583 | rqstp->rq_addrlen = svsk->sk_remotelen; |
| 592 | 584 | ||
| 593 | dprintk("svc: socket %p recvfrom(%p, %Zu) = %d\n", | 585 | dprintk("svc: socket %p recvfrom(%p, %Zu) = %d\n", |
| 594 | rqstp->rq_sock, iov[0].iov_base, iov[0].iov_len, len); | 586 | svsk, iov[0].iov_base, iov[0].iov_len, len); |
| 595 | 587 | ||
| 596 | return len; | 588 | return len; |
| 597 | } | 589 | } |
