[PATCH v2] gve: fix for null pointer dereference.

From: Ameer Hamza
Date: Sun Dec 05 2021 - 13:38:21 EST


Avoid passing NULL skb to __skb_put() function call if
napi_alloc_skb() returns NULL.

Addresses-Coverity: 1494144 (Dereference NULL return value)

Signed-off-by: Ameer Hamza <amhamza.mgc@xxxxxxxxx>

---
Change in v2:
checking for correct skb pointer for NULL check
---
drivers/net/ethernet/google/gve/gve_utils.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/drivers/net/ethernet/google/gve/gve_utils.c b/drivers/net/ethernet/google/gve/gve_utils.c
index 88ca49cbc1e2..d57508bc4307 100644
--- a/drivers/net/ethernet/google/gve/gve_utils.c
+++ b/drivers/net/ethernet/google/gve/gve_utils.c
@@ -68,6 +68,9 @@ struct sk_buff *gve_rx_copy(struct net_device *dev, struct napi_struct *napi,
set_protocol = ctx->curr_frag_cnt == ctx->expected_frag_cnt - 1;
} else {
skb = napi_alloc_skb(napi, len);
+
+ if (unlikely(!skb))
+ return NULL;
set_protocol = true;
}
__skb_put(skb, len);
--
2.25.1