Messages in this thread | | | Date | Wed, 22 Dec 2021 13:04:56 +0000 | From | Martin Habets <> | Subject | Re: [PATCH] sfc: falcon: Check null pointer of rx_queue->page_ring |
| |
On Mon, Dec 20, 2021 at 10:03:44PM +0800, Jiasheng Jiang wrote: > Because of the possible failure of the kcalloc, it should be better to > set rx_queue->page_ptr_mask to 0 when it happens in order to maintain > the consistency. > > Fixes: 5a6681e22c14 ("sfc: separate out SFC4000 ("Falcon") support into new sfc-falcon driver") > Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn>
Acked-by: Martin Habets <habetsm.xilinx@gmail.com>
> --- > drivers/net/ethernet/sfc/falcon/rx.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/drivers/net/ethernet/sfc/falcon/rx.c b/drivers/net/ethernet/sfc/falcon/rx.c > index 966f13e7475d..11a6aee852e9 100644 > --- a/drivers/net/ethernet/sfc/falcon/rx.c > +++ b/drivers/net/ethernet/sfc/falcon/rx.c > @@ -728,7 +728,10 @@ static void ef4_init_rx_recycle_ring(struct ef4_nic *efx, > efx->rx_bufs_per_page); > rx_queue->page_ring = kcalloc(page_ring_size, > sizeof(*rx_queue->page_ring), GFP_KERNEL); > - rx_queue->page_ptr_mask = page_ring_size - 1; > + if (!rx_queue->page_ring) > + rx_queue->page_ptr_mask = 0; > + else > + rx_queue->page_ptr_mask = page_ring_size - 1; > } > > void ef4_init_rx_queue(struct ef4_rx_queue *rx_queue) > -- > 2.25.1
| |