diff options
author | David S. Miller <davem@davemloft.net> | 2011-05-17 17:33:11 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-05-17 17:33:11 -0400 |
commit | 9cbc94eabb0791906051bbfac024ef2c2be8e079 (patch) | |
tree | 41ba194e687c6c60f5c883f98737ac83257d0c00 /net/socket.c | |
parent | 1d1652cbdb9885e4d73972263e4cdbe1b0beebfe (diff) | |
parent | 7cc31a9ae1477abc79d5992b3afe889f25c50c99 (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.c | 6 |
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); |