Problem Description: In unix_dgram_recvmsg() in af_unix.c the flag MSG_TRUNC is not regarded as described in the recv(2) man page. This did work in older kernels (I have a working 2.6.13, but am not sure if that is a plain kernel.org one, nor if it was the last working revision). I believe the bug was introduced when the variable "copied" was removed from the code. IMHO, the line 1650: err = size; should read err = (flags & MSG_TRUNC) ? skb->len : size;
Kernel Version changed to 2.6.22 + regression
Subject: Re: [Bugme-new] New: MSG_TRUNC not regarded in unix_dgram_recvmsg() On Mon, 9 Jul 2007 04:01:58 -0700 (PDT) bugme-daemon@bugzilla.kernel.org wrote: > http://bugzilla.kernel.org/show_bug.cgi?id=8726 > > Summary: MSG_TRUNC not regarded in unix_dgram_recvmsg() > Product: Networking > Version: 2.5 > KernelVersion: 2.6.19 > Platform: All > OS/Version: Linux > Tree: Mainline > Status: NEW > Severity: normal > Priority: P1 > Component: Other > AssignedTo: acme@ghostprotocols.net > ReportedBy: garkein@mailueberfall.de > > > Problem Description: > > In unix_dgram_recvmsg() in af_unix.c the flag MSG_TRUNC is not regarded as > described in the recv(2) man page. > > This did work in older kernels (I have a working 2.6.13, but am not sure if > that is a plain kernel.org one, nor if it was the last working revision). > I believe the bug was introduced when the variable "copied" was removed from > the code. > > IMHO, the line 1650: > > err = size; > > should read > > err = (flags & MSG_TRUNC) ? skb->len : size; >
I'm a bit confused by the above comment. Yes? No? Need more info?
I will address this question to appropriate parties. Sounds like we need help from netdev developers.