netdev
[Top] [All Lists]

[PATCH] compat bug in sys_recvmsg, MSG_CMSG_COMPAT check missing

To: linux-kernel@xxxxxxxxxxxxxxx, netdev@xxxxxxxxxxx
Subject: [PATCH] compat bug in sys_recvmsg, MSG_CMSG_COMPAT check missing
From: Olaf Hering <olh@xxxxxxx>
Date: Sat, 5 Jun 2004 22:43:34 +0200
Sender: netdev-bounce@xxxxxxxxxxx
User-agent: Mutt und vi sind doch schneller als Notes
packet_recvmsg() gets the flags from the compat_sys_socketcall(), but it
does not check for the active MSG_CMSG_COMPAT bit. As a result, it
returns -EINVAL and makes the user rather unhappy


diff -purN linux-2.6.7-rc2-bk5.orig/net/packet/af_packet.c 
linux-2.6.7-rc2-bk5/net/packet/af_packet.c
--- linux-2.6.7-rc2-bk5.orig/net/packet/af_packet.c     2004-06-05 
09:34:48.000000000 +0200
+++ linux-2.6.7-rc2-bk5/net/packet/af_packet.c  2004-06-05 22:32:16.000000000 
+0200
@@ -1037,7 +1037,7 @@ static int packet_recvmsg(struct kiocb *
        int copied, err;
 
        err = -EINVAL;
-       if (flags & ~(MSG_PEEK|MSG_DONTWAIT|MSG_TRUNC))
+       if (flags & ~(MSG_PEEK|MSG_DONTWAIT|MSG_TRUNC|MSG_CMSG_COMPAT))
                goto out;
 
 #if 0
-- 
USB is for mice, FireWire is for men!

sUse lINUX ag, nÃRNBERG


<Prev in Thread] Current Thread [Next in Thread>