aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv4/ip_fragment.c
diff options
context:
space:
mode:
authorSimon Guinot <simon.guinot@sequanux.org>2015-07-19 13:00:53 +0200
committerDavid S. Miller <davem@davemloft.net>2015-07-21 00:30:02 -0700
commita84e32894191cfcbffa54180d78d7d4654d56c20 (patch)
treec4b8116863b0ac7636537c3de5306ce6bd170716 /net/ipv4/ip_fragment.c
parentstmmac: fix setting of driver data in stmmac_dvr_probe (diff)
downloadlinux-dev-a84e32894191cfcbffa54180d78d7d4654d56c20.tar.xz
linux-dev-a84e32894191cfcbffa54180d78d7d4654d56c20.zip
net: mvneta: fix refilling for Rx DMA buffers
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@sequanux.org> Fixes: c5aff18204da ("net: mvneta: driver for Marvell Armada 370/XP network unit") Cc: <stable@vger.kernel.org> # v3.8+ Tested-by: Yoann Sculo <yoann@sculo.fr> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to '')
0 files changed, 0 insertions, 0 deletions