| To: | Olaf Hering <olh@xxxxxxx> |
|---|---|
| Subject: | Re: [PATCH] compat bug in sys_recvmsg, MSG_CMSG_COMPAT check missing |
| From: | "David S. Miller" <davem@xxxxxxxxxx> |
| Date: | Sat, 5 Jun 2004 14:01:53 -0700 |
| Cc: | linux-kernel@xxxxxxxxxxxxxxx, netdev@xxxxxxxxxxx |
| In-reply-to: | <20040605204334.GA1134@suse.de> |
| References: | <20040605204334.GA1134@suse.de> |
| Sender: | netdev-bounce@xxxxxxxxxxx |
On Sat, 5 Jun 2004 22:43:34 +0200 Olaf Hering <olh@xxxxxxx> wrote: > 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 Not just packet_recvmsg() (frankly, I'm stumped how tcpdump is working on my sparc64 boxes due to this bug!), every other sendmsg/recvmsg implementation has a test like this verifying the msg_flags for bogons. Let's ask a better question, why do we need to pass this thing down into the implementations anyways? I can't see a reason, can anyone else? If there is no reason, the right fix is simply to mask it out at the top level, for both sendmsg and recvmsg. |
| Previous by Date: | Re: Dealing with buggy hardware (was: b44 and 4g4g), David S. Miller |
|---|---|
| Next by Date: | Re: [PATCH] compat bug in sys_recvmsg, MSG_CMSG_COMPAT check missing, David S. Miller |
| Previous by Thread: | [PATCH] compat bug in sys_recvmsg, MSG_CMSG_COMPAT check missing, Olaf Hering |
| Next by Thread: | Re: [PATCH] compat bug in sys_recvmsg, MSG_CMSG_COMPAT check missing, David S. Miller |
| Indexes: | [Date] [Thread] [Top] [All Lists] |