2003-11-10 11:10:55

by Ihar 'Philips' Filipau

[permalink] [raw]
Subject: net/packet/af_packet.c:{1057,1073}: flags vs. msg->flags

Hi!

[ I'm trying to cc: netdev - but they are not that welcome - and
require subscription. I'm way too lazy (and my mail box is not that
fast) to subscribe to send simple typo - if this is a case at all. ]

[ kernel v2.6.0-test7 as found on lxr.linux.no, 2.4.{18,22} has the
same - but line numbers are different. ]

On line 1057 we have: "msg->msg_flags|=MSG_TRUNC;" to indicate that
message was truncated.

But on line 1073, where we make return status to user, we check
against user suplied flags, but NOT msg->msg_flags.

It looks like obvious typo.

--
Ihar 'Philips' Filipau / with best regards from Saarbruecken.
-- _ _ _
"... and for $64000 question, could you get yourself |_|*|_|
vaguely familiar with the notion of on-topic posting?" |_|_|*|
-- Al Viro @ LKML |*|*|*|


2003-11-10 12:36:09

by Ihar 'Philips' Filipau

[permalink] [raw]
Subject: Re: net/packet/af_packet.c:{1057,1073}: flags vs. msg->flags


RTFM (man recv) brought the response:

MSG_TRUNC
Return the real length of the packet, even when it was longer
than the passed buffer. Only valid for packet sockets.

So packet socket is special case here.

Sorry for disturbing.

P.S. Wondering - is there any way to find a size of next queued
datagram? SIOCINQ? cannot find its description - not listed in man
ioctl_list - but implementation inside of ap_packet.c does exactly this.

Ihar 'Philips' Filipau wrote:
> Hi!
>
> [ I'm trying to cc: netdev - but they are not that welcome - and
> require subscription. I'm way too lazy (and my mail box is not that
> fast) to subscribe to send simple typo - if this is a case at all. ]
>
> [ kernel v2.6.0-test7 as found on lxr.linux.no, 2.4.{18,22} has the
> same - but line numbers are different. ]
>
> On line 1057 we have: "msg->msg_flags|=MSG_TRUNC;" to indicate that
> message was truncated.
>
> But on line 1073, where we make return status to user, we check
> against user suplied flags, but NOT msg->msg_flags.
>
> It looks like obvious typo.
>


--
Ihar 'Philips' Filipau / with best regards from Saarbruecken.
-- _ _ _
"... and for $64000 question, could you get yourself |_|*|_|
vaguely familiar with the notion of on-topic posting?" |_|_|*|
-- Al Viro @ LKML |*|*|*|

2003-11-11 07:18:44

by David Miller

[permalink] [raw]
Subject: Re: net/packet/af_packet.c:{1057,1073}: flags vs. msg->flags

On Mon, 10 Nov 2003 12:10:46 +0100
"Ihar 'Philips' Filipau" <[email protected]> wrote:

> On line 1057 we have: "msg->msg_flags|=MSG_TRUNC;" to indicate that
> message was truncated.
>
> But on line 1073, where we make return status to user, we check
> against user suplied flags, but NOT msg->msg_flags.
>
> It looks like obvious typo.

Indeed, you're right.

Thanks for the report, I'll fix this in both 2.4.x and 2.6.x