diff mbox

fix MSG_OOB test in caif_seqpkt_recvmsg()

Message ID 20150314052221.GS29656@ZenIV.linux.org.uk
State Accepted, archived
Delegated to: David Miller
Headers show

Commit Message

Al Viro March 14, 2015, 5:22 a.m. UTC
It should be checking flags, not msg->msg_flags.  It's ->sendmsg()
instances that need to look for that in ->msg_flags, ->recvmsg() ones
(including the other ->recvmsg() instance in that file, as well as
unix_dgram_recvmsg() this one claims to be imitating) check in flags.
Braino had been introduced in commit dcda13 ("caif: Bugfix - use MSG_TRUNC
in receive") back in 2010, so it goes quite a while back.

Cc: stable@vger.kernel.org # 2.6.35
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
---
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

David Miller March 16, 2015, 2:20 a.m. UTC | #1
From: Al Viro <viro@ZenIV.linux.org.uk>
Date: Sat, 14 Mar 2015 05:22:21 +0000

> 	It should be checking flags, not msg->msg_flags.  It's ->sendmsg()
> instances that need to look for that in ->msg_flags, ->recvmsg() ones
> (including the other ->recvmsg() instance in that file, as well as
> unix_dgram_recvmsg() this one claims to be imitating) check in flags.
> Braino had been introduced in commit dcda13 ("caif: Bugfix - use MSG_TRUNC
> in receive") back in 2010, so it goes quite a while back.
> 
> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

Applied and queued up for -stable.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/net/caif/caif_socket.c b/net/caif/caif_socket.c
index 91aa225..1caa161 100644
--- a/net/caif/caif_socket.c
+++ b/net/caif/caif_socket.c
@@ -281,7 +281,7 @@  static int caif_seqpkt_recvmsg(struct socket *sock, struct msghdr *m,
 	int copylen;
 
 	ret = -EOPNOTSUPP;
-	if (m->msg_flags&MSG_OOB)
+	if (flags & MSG_OOB)
 		goto read_error;
 
 	skb = skb_recv_datagram(sk, flags, 0 , &ret);