Stray nulls when reading from AF_UNIX sockets

From: Anders Blomdell
Date: Thu Sep 06 2007 - 12:01:30 EST


Hi,

With recent kernels (2.6.22.x), we are experiencing that random null characters
are read by our mySQL server (i.e. the number of bytes read by the server is
larger than the number of bytes written). I'm currently investigating the
problem (that occurs every 1-35 hours on a loaded system). A current suspect is
the following code in net/unix/af_unix.c:

static int unix_stream_recvmsg(struct kiocb *iocb, struct socket *sock,
struct msghdr *msg, size_t size,
int flags)
{
...
return copied ? : err;
}

Shouldn't this read:

return copied ? copied : err;

Or am I missing something?

Please CC me personally.

Regards

Anders Blomdell


--
Anders Blomdell Email: anders.blomdell@xxxxxxxxxxxxxx
Department of Automatic Control
Lund University Phone: +46 46 222 4625
P.O. Box 118 Fax: +46 46 138118
SE-221 00 Lund, Sweden
-
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/