From: Gerrit Renker Date: Wed, 10 Feb 2010 20:26:18 +0000 (+0000) Subject: dccp: support for passing MSG_TRUNC X-Git-Tag: upstream/snapshot3+hdmi~15536^2~341 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=55d955902a7f78e3e7c9ddbc71a4a050d9d44810;p=platform%2Fadaptation%2Frenesas_rcar%2Frenesas_kernel.git dccp: support for passing MSG_TRUNC DCCP is datagram-oriented but lacks UDP's support for MSG_TRUNC as defined in recvmsg(2)/recv(2). Hence the following 'Hello world\0' receiver len = recv(fd, buf, 10, MSG_PEEK | MSG_TRUNC); wrongly (always) returns 10, while in UDP it returns 12 as expected. This patch adds the missing MSG_TRUNC support to recvmsg(). Signed-off-by: Gerrit Renker Signed-off-by: David S. Miller --- diff --git a/net/dccp/proto.c b/net/dccp/proto.c index 671cd14..85ec1cb 100644 --- a/net/dccp/proto.c +++ b/net/dccp/proto.c @@ -835,6 +835,8 @@ verify_sock_status: len = -EFAULT; break; } + if (flags & MSG_TRUNC) + len = skb->len; found_fin_ok: if (!(flags & MSG_PEEK)) sk_eat_skb(sk, skb, 0);