mirror of https://gitee.com/openkylin/linux.git
a84e328941
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:
|
||
---|---|---|
.. | ||
Kconfig | ||
Makefile | ||
mv643xx_eth.c | ||
mvmdio.c | ||
mvneta.c | ||
mvpp2.c | ||
pxa168_eth.c | ||
skge.c | ||
skge.h | ||
sky2.c | ||
sky2.h |