Re: [PATCH] linux 2.9.10-rc1: Fix oops in unix_dgram_sendmsg whenusing SELinux and SOCK_SEQPACKET

From: James Morris
Date: Fri Nov 19 2004 - 11:27:23 EST


On Fri, 19 Nov 2004, Alan Cox wrote:

> Looks right to me, the ECONNRESET is no longer being lost.

Ok, here is a relative patch for Dave.

Please apply.

Signed-off-by: James Morris <jmorris@xxxxxxxxxx>

---

diff -purN -X dontdiff linux-2.6.10-rc2.w2/net/unix/af_unix.c linux-2.6.10-rc2.w3/net/unix/af_unix.c
--- linux-2.6.10-rc2.w2/net/unix/af_unix.c 2004-11-18 12:09:44.000000000 -0500
+++ linux-2.6.10-rc2.w3/net/unix/af_unix.c 2004-11-18 21:54:12.000000000 -0500
@@ -1513,13 +1513,18 @@ out_err:
static int unix_seqpacket_sendmsg(struct kiocb *kiocb, struct socket *sock,
struct msghdr *msg, size_t len)
{
+ int err;
struct sock *sk = sock->sk;

+ err = sock_error(sk);
+ if (err)
+ return err;
+
if (sk->sk_state != TCP_ESTABLISHED)
return -ENOTCONN;

- if (msg->msg_name || msg->msg_namelen)
- return -EINVAL;
+ if (msg->msg_namelen)
+ msg->msg_namelen = 0;

return unix_dgram_sendmsg(kiocb, sock, msg, len);
}

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/