Re: Reported regression against commit a05d2ad
From: Eric W. Biederman <hidden>
Date: 2011-06-21 20:55:03
Tim Gardner [off-list ref] writes:
On 06/21/2011 02:15 PM, Herton Ronaldo Krzesinski wrote:quoted
Hi, after update to one of the latest 2.6.32.x stable kernels for Ubuntu, we got a regression report about timeout in tcp connections (https://launchpad.net/bugs/791512). We tried help reporter with a bisect process, but it was taking some time, so we reverted some suspect commits, until we isolated it to commit "af_unix: Only allow recv on connected seqpacket sockets." With only commit a05d2ad reverted, testing results so far indicate the issue doesn't happen. I'm unfamiliar with unix sockets code, so can't see at first why this commit in particular is causing problems, for now I can only say may be something at application level using unix sockets regressed with it (?). I'm just reporting it right now, and we plan to revert it for that kernel until more info is found about it. I'm adding reporter to CC (Lamont), in case more details are necessary etc.I believe we're also homing in on the same regression in 2.6.38.6 ('af_unix: Only allow recv on connected seqpacket sockets.'). The functional part of the patch is: + + if (sk->sk_state != TCP_ESTABLISHED) + return -ENOTCONN; + + return unix_dgram_recvmsg(iocb, sock, msg, size, flags); What happens with out of order receives? Would fragmentation have an impact?
That code path has absolutely nothing to do with packets that come in over the wire. Zilch, zero, nada. Fragments don't matter because fragments can not possibly hit that code path. IP packets can not possibly hit that code path. Eric