--- af_unix.c~ Tue Aug 8 15:46:08 1995
+++ af_unix.c Tue Aug 8 17:11:32 1995
@@ -937,7 +937,9 @@
iov.iov_base=ubuf;
iov.iov_len=size;
msg.msg_name=(void *)sa;
- msg.msg_namelen=get_user(addr_len);
+ msg.msg_namelen=0;
+ if (addr_len)
+ msg.msg_namelen=get_user(addr_len);
msg.msg_accrights=NULL;
msg.msg_iov=&iov;
msg.msg_iovlen=1;
Otherwise, the kernel crashes solidly with a 0-pointer dereference
when trying to start gpm, for example (actually, anything that invokes
unix_read() or unix_recv(). I don't think this is the above patch
will be the final solution, but at least it works for now.
Unfortunately, even after applying this patch, pppd (v2.1, patchlevel
2) doesn't work for me---it simply hangs. Haven't looked into this
one yet. If anybody has a patch already, I'd love to hear about it.
--david