diff options
| author | Patrick McHardy <kaber@trash.net> | 2010-04-20 16:02:01 +0200 | 
|---|---|---|
| committer | Patrick McHardy <kaber@trash.net> | 2010-04-20 16:02:01 +0200 | 
| commit | 62910554656cdcd6b6f84a5154c4155aae4ca231 (patch) | |
| tree | dcf14004f6fd2ef7154362ff948bfeba0f3ea92d /net/socket.c | |
| parent | 22265a5c3c103cf8c50be62e6c90d045eb649e6d (diff) | |
| parent | ab9304717f7624c41927f442e6b6d418b2d8b3e4 (diff) | |
| download | olio-linux-3.10-62910554656cdcd6b6f84a5154c4155aae4ca231.tar.xz olio-linux-3.10-62910554656cdcd6b6f84a5154c4155aae4ca231.zip  | |
Merge branch 'master' of /repos/git/net-next-2.6
Conflicts:
	Documentation/feature-removal-schedule.txt
	net/ipv6/netfilter/ip6t_REJECT.c
	net/netfilter/xt_limit.c
Signed-off-by: Patrick McHardy <kaber@trash.net>
Diffstat (limited to 'net/socket.c')
| -rw-r--r-- | net/socket.c | 10 | 
1 files changed, 7 insertions, 3 deletions
diff --git a/net/socket.c b/net/socket.c index 769c386bd42..35bc198bbf6 100644 --- a/net/socket.c +++ b/net/socket.c @@ -87,6 +87,7 @@  #include <linux/wireless.h>  #include <linux/nsproxy.h>  #include <linux/magic.h> +#include <linux/slab.h>  #include <asm/uaccess.h>  #include <asm/unistd.h> @@ -619,10 +620,9 @@ void __sock_recv_timestamp(struct msghdr *msg, struct sock *sk,  			put_cmsg(msg, SOL_SOCKET, SCM_TIMESTAMP,  				 sizeof(tv), &tv);  		} else { -			struct timespec ts; -			skb_get_timestampns(skb, &ts); +			skb_get_timestampns(skb, &ts[0]);  			put_cmsg(msg, SOL_SOCKET, SCM_TIMESTAMPNS, -				 sizeof(ts), &ts); +				 sizeof(ts[0]), &ts[0]);  		}  	} @@ -2135,6 +2135,10 @@ int __sys_recvmmsg(int fd, struct mmsghdr __user *mmsg, unsigned int vlen,  			break;  		++datagrams; +		/* MSG_WAITFORONE turns on MSG_DONTWAIT after one packet */ +		if (flags & MSG_WAITFORONE) +			flags |= MSG_DONTWAIT; +  		if (timeout) {  			ktime_get_ts(timeout);  			*timeout = timespec_sub(end_time, *timeout);  |