diff options
author | Yang Yingliang <yangyingliang@huawei.com> | 2022-11-04 07:17:36 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2022-11-07 12:32:28 +0100 |
commit | 64c426dfbbd2710e4bcac42aaced21fe10f05fde (patch) | |
tree | 2b6cd3b412dfd6d474f3a11107f1f4df4fae38be /drivers/net/ethernet/google | |
parent | net: fec: simplify the code logic of quirks (diff) | |
download | linux-64c426dfbbd2710e4bcac42aaced21fe10f05fde.tar.xz linux-64c426dfbbd2710e4bcac42aaced21fe10f05fde.zip |
gve: Fix error return code in gve_prefill_rx_pages()
If alloc_page() fails in gve_prefill_rx_pages(), it should return
an error code in the error path.
Fixes: 82fd151d38d9 ("gve: Reduce alloc and copy costs in the GQ rx path")
Cc: Jeroen de Borst <jeroendb@google.com>
Cc: Catherine Sullivan <csully@google.com>
Cc: Shailend Chand <shailend@google.com>
Cc: "David S. Miller" <davem@davemloft.net>
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/google')
-rw-r--r-- | drivers/net/ethernet/google/gve/gve_rx.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/ethernet/google/gve/gve_rx.c b/drivers/net/ethernet/google/gve/gve_rx.c index e2f4494c65fb..1f55137722b0 100644 --- a/drivers/net/ethernet/google/gve/gve_rx.c +++ b/drivers/net/ethernet/google/gve/gve_rx.c @@ -150,8 +150,10 @@ static int gve_prefill_rx_pages(struct gve_rx_ring *rx) for (j = 0; j < rx->qpl_copy_pool_mask + 1; j++) { struct page *page = alloc_page(GFP_KERNEL); - if (!page) + if (!page) { + err = -ENOMEM; goto alloc_err_qpl; + } rx->qpl_copy_pool[j].page = page; rx->qpl_copy_pool[j].page_offset = 0; |