[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20130911.161401.1088919298333377389.davem@davemloft.net>
Date: Wed, 11 Sep 2013 16:14:01 -0400 (EDT)
From: David Miller <davem@...emloft.net>
To: dborkman@...hat.com
Cc: netdev@...r.kernel.org, linux-sctp@...r.kernel.org,
jacob.e.keller@...el.com
Subject: Re: [PATCH net] net: sctp: fix bug in sctp_poll for
SOCK_SELECT_ERR_QUEUE
From: Daniel Borkmann <dborkman@...hat.com>
Date: Sat, 7 Sep 2013 16:44:59 +0200
> If we do not add braces around ...
>
> mask |= POLLERR |
> sock_flag(sk, SOCK_SELECT_ERR_QUEUE) ? POLLPRI : 0;
>
> ... then this condition always evaluates to true as POLLERR is
> defined as 8 and binary or'd with whatever result comes out of
> sock_flag(). Hence instead of (X | Y) ? A : B, transform it into
> X | (Y ? A : B). Unfortunatelty, commit 8facd5fb73 ("net: fix
> smatch warnings inside datagram_poll") forgot about SCTP. :-(
>
> Introduced by 7d4c04fc170 ("net: add option to enable error queue
> packets waking select").
>
> Signed-off-by: Daniel Borkmann <dborkman@...hat.com>
Applied and queued up for -stable.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists