diff --git a/[refs] b/[refs] index 0cbdeb9694ac..1a2f2f97de17 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 5b3e7e6cb5771bedda51cdb6f715d1da8cd9e644 +refs/heads/master: 06b6a1cf6e776426766298d055bb3991957d90a7 diff --git a/trunk/net/rds/recv.c b/trunk/net/rds/recv.c index 5c6e9f132026..9f0f17cf6bf9 100644 --- a/trunk/net/rds/recv.c +++ b/trunk/net/rds/recv.c @@ -410,6 +410,8 @@ int rds_recvmsg(struct kiocb *iocb, struct socket *sock, struct msghdr *msg, rdsdebug("size %zu flags 0x%x timeo %ld\n", size, msg_flags, timeo); + msg->msg_namelen = 0; + if (msg_flags & MSG_OOB) goto out; @@ -485,6 +487,7 @@ int rds_recvmsg(struct kiocb *iocb, struct socket *sock, struct msghdr *msg, sin->sin_port = inc->i_hdr.h_sport; sin->sin_addr.s_addr = inc->i_saddr; memset(sin->sin_zero, 0, sizeof(sin->sin_zero)); + msg->msg_namelen = sizeof(*sin); } break; }