mirror of
git://git.yoctoproject.org/linux-yocto.git
synced 2025-08-22 00:42:01 +02:00
![]() build_skb() returns NULL in case of a memory allocation failure so handle
it inside __octep_oq_process_rx() to avoid NULL pointer dereference.
__octep_oq_process_rx() is called during NAPI polling by the driver. If
skb allocation fails, keep on pulling packets out of the Rx DMA queue: we
shouldn't break the polling immediately and thus falsely indicate to the
octep_napi_poll() that the Rx pressure is going down. As there is no
associated skb in this case, don't process the packets and don't push them
up the network stack - they are skipped.
Helper function is implemented to unmmap/flush all the fragment buffers
used by the dropped packet. 'alloc_failures' counter is incremented to
mark the skb allocation error in driver statistics.
Found by Linux Verification Center (linuxtesting.org) with SVACE.
Fixes:
|
||
---|---|---|
.. | ||
mvpp2 | ||
octeon_ep | ||
octeon_ep_vf | ||
octeontx2 | ||
prestera | ||
Kconfig | ||
Makefile | ||
mv643xx_eth.c | ||
mvmdio.c | ||
mvneta_bm.c | ||
mvneta_bm.h | ||
mvneta.c | ||
pxa168_eth.c | ||
skge.c | ||
skge.h | ||
sky2.c | ||
sky2.h |