Balazs Scheidler <bazsi@balabit.hu> writes:
I sent this patch to lkml, and they told me it was fixed in 2.4.20presomething. As it seems they didn't, they told me it should be returning 0 as the sockaddr len, but your strace shows that it is 256.
msg.msg_namelen is what is set to 0, move_addr_to_user is not called, try this patch (in addition to rc1):
--- socket.c.old Tue Nov 5 18:48:22 2002 +++ socket.c Tue Nov 5 18:49:34 2002 @@ -1262,7 +1262,7 @@ flags |= MSG_DONTWAIT; err=sock_recvmsg(sock, &msg, size, flags);
- if(err >= 0 && addr != NULL && msg.msg_namelen) + if(err >= 0 && addr != NULL) { err2=move_addr_to_user(address, msg.msg_namelen, addr, addr_len); if(err2<0) --------------
I send this patch to davem.
Ok, everything seems to be working with this. Thanks!