[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20140107.161710.1111837486038919201.davem@davemloft.net>
Date: Tue, 07 Jan 2014 16:17:10 -0500 (EST)
From: David Miller <davem@...emloft.net>
To: jon.maloy@...csson.com
Cc: netdev@...r.kernel.org, paul.gortmaker@...driver.com,
erik.hugne@...csson.com, ying.xue@...driver.com, maloy@...jonn.com,
tipc-discussion@...ts.sourceforge.net
Subject: Re: [PATCH net 1/1] tipc: correctly unlink packets from deferred
packet queue
From: Jon Maloy <jon.maloy@...csson.com>
Date: Tue, 7 Jan 2014 15:51:36 -0500
> From: Erik Hugne <erik.hugne@...csson.com>
>
> When we pull a received packet from a link's 'deferred packets' queue
> for processing, its 'next' pointer is not cleared, and still refers to
> the next packet in that queue, if any. This is incorrect, but caused
> no harm before commit 40ba3cdf542a469aaa9083fa041656e59b109b90 ("tipc:
> message reassembly using fragment chain") was introduced. After that
> commit, it may sometimes lead to the following oops:
...
> This happens when the last fragment of a message has passed through the
> the receiving link's 'deferred packets' queue, and at least one other
> packet was added to that queue while it was there. After the fragment
> chain with the complete message has been successfully delivered to the
> receiving socket, it is released. Since 'next' pointer of the last
> fragment in the released chain now is non-NULL, we get the crash shown
> above.
>
> We fix this by clearing the 'next' pointer of all received packets,
> including those being pulled from the 'deferred' queue, before they
> undergo any further processing.
>
> Fixes: 40ba3cdf542a4 ("tipc: message reassembly using fragment chain")
> Signed-off-by: Erik Hugne <erik.hugne@...csson.com>
> Reported-by: Ying Xue <ying.xue@...driver.com>
> Reviewed-by: Paul Gortmaker <paul.gortmaker@...driver.com>
> Signed-off-by: Jon Maloy <jon.maloy@...csson.com>
Applied and queued up for -stable, thanks.
--
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