[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <79a8e6f0-ff81-4b12-bfb8-f615069b1faa@redhat.com>
Date: Thu, 3 Oct 2024 11:50:41 +0200
From: Paolo Abeni <pabeni@...hat.com>
To: Aleksandr Mishin <amishin@...rgos.ru>,
Veerasenareddy Burru <vburru@...vell.com>
Cc: Sathesh Edara <sedara@...vell.com>, "David S. Miller"
<davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>, Abhijit Ayarekar <aayarekar@...vell.com>,
Satananda Burla <sburla@...vell.com>, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org, lvc-project@...uxtesting.org,
Simon Horman <horms@...nel.org>
Subject: Re: [PATCH net v3] octeon_ep: Add SKB allocation failures handling in
__octep_oq_process_rx()
On 9/30/24 07:33, Aleksandr Mishin wrote:
> 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.
>
> The common code with skb and some index manipulations is extracted to make
> the fix more readable and avoid code duplication. Also 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: 37d79d059606 ("octeon_ep: add Tx/Rx processing and interrupt support")
> Suggested-by: Paolo Abeni <pabeni@...hat.com>
> Suggested-by: Simon Horman <horms@...nel.org>
> Signed-off-by: Aleksandr Mishin <amishin@...rgos.ru>
> ---
> A similar situation is present in the __octep_vf_oq_process_rx() of the
> Octeon VF driver. First we want to try the fix on __octep_oq_process_rx().
>
> Compile tested only.
@Marvel folks: it would be great if you could test this patch and report
here, otherwise this is going to be merged with build test only...
Thanks,
Paolo
Powered by blists - more mailing lists