[PATCH v2] net: mvneta: fix refilling for Rx DMA buffers

David Miller davem at davemloft.net
Tue Jul 21 00:30:33 PDT 2015


From: Simon Guinot <simon.guinot at sequanux.org>
Date: Sun, 19 Jul 2015 13:00:53 +0200

> With the actual code, if a memory allocation error happens while
> refilling a Rx descriptor, then the original Rx buffer is both passed
> to the networking stack (in a SKB) and let in the Rx ring. This leads
> to various kernel oops and crashes.
> 
> As a fix, this patch moves Rx descriptor refilling ahead of building
> SKB with the associated Rx buffer. In case of a memory allocation
> failure, data is dropped and the original DMA buffer is put back into
> the Rx ring.
> 
> Signed-off-by: Simon Guinot <simon.guinot at sequanux.org>
> Fixes: c5aff18204da ("net: mvneta: driver for Marvell Armada 370/XP network unit")
> Cc: <stable at vger.kernel.org> # v3.8+
> Tested-by: Yoann Sculo <yoann at sculo.fr>

Applied, thanks.



More information about the linux-arm-kernel mailing list