aboutsummaryrefslogtreecommitdiffstats
path: root/net/socket.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2011-05-17 17:33:11 -0400
committerDavid S. Miller <davem@davemloft.net>2011-05-17 17:33:11 -0400
commit9cbc94eabb0791906051bbfac024ef2c2be8e079 (patch)
tree41ba194e687c6c60f5c883f98737ac83257d0c00 /net/socket.c
parent1d1652cbdb9885e4d73972263e4cdbe1b0beebfe (diff)
parent7cc31a9ae1477abc79d5992b3afe889f25c50c99 (diff)
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts: drivers/net/vmxnet3/vmxnet3_ethtool.c net/core/dev.c
Diffstat (limited to 'net/socket.c')
-rw-r--r--net/socket.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/net/socket.c b/net/socket.c
index ed50255143d5..2d5382d0de54 100644
--- a/net/socket.c
+++ b/net/socket.c
@@ -2232,14 +2232,16 @@ int __sys_recvmmsg(int fd, struct mmsghdr __user *mmsg, unsigned int vlen,
2232 */ 2232 */
2233 if (MSG_CMSG_COMPAT & flags) { 2233 if (MSG_CMSG_COMPAT & flags) {
2234 err = __sys_recvmsg(sock, (struct msghdr __user *)compat_entry, 2234 err = __sys_recvmsg(sock, (struct msghdr __user *)compat_entry,
2235 &msg_sys, flags, datagrams); 2235 &msg_sys, flags & ~MSG_WAITFORONE,
2236 datagrams);
2236 if (err < 0) 2237 if (err < 0)
2237 break; 2238 break;
2238 err = __put_user(err, &compat_entry->msg_len); 2239 err = __put_user(err, &compat_entry->msg_len);
2239 ++compat_entry; 2240 ++compat_entry;
2240 } else { 2241 } else {
2241 err = __sys_recvmsg(sock, (struct msghdr __user *)entry, 2242 err = __sys_recvmsg(sock, (struct msghdr __user *)entry,
2242 &msg_sys, flags, datagrams); 2243 &msg_sys, flags & ~MSG_WAITFORONE,
2244 datagrams);
2243 if (err < 0) 2245 if (err < 0)
2244 break; 2246 break;
2245 err = put_user(err, &entry->msg_len); 2247 err = put_user(err, &entry->msg_len);