From: Michael Kelley Date: Mon, 6 Feb 2023 20:11:57 +0000 (-0800) Subject: hv_netvsc: Allocate memory in netvsc_dma_map() with GFP_ATOMIC X-Git-Tag: v6.1.15~326 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6b2aaf302ce8baf8e5a41777e97a8d1ac7b9b8f5;p=platform%2Fkernel%2Flinux-starfive.git hv_netvsc: Allocate memory in netvsc_dma_map() with GFP_ATOMIC commit c6aa9d3b43cd11ac13a8220368a3b0483c6751d4 upstream. Memory allocations in the network transmit path must use GFP_ATOMIC so they won't sleep. Reported-by: Paolo Abeni Link: https://lore.kernel.org/lkml/8a4d08f94d3e6fe8b6da68440eaa89a088ad84f9.camel@redhat.com/ Fixes: 846da38de0e8 ("net: netvsc: Add Isolation VM support for netvsc driver") Cc: stable@vger.kernel.org Signed-off-by: Michael Kelley Link: https://lore.kernel.org/r/1675714317-48577-1-git-send-email-mikelley@microsoft.com Signed-off-by: Jakub Kicinski Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/net/hyperv/netvsc.c b/drivers/net/hyperv/netvsc.c index e02d1e3..79f4e13 100644 --- a/drivers/net/hyperv/netvsc.c +++ b/drivers/net/hyperv/netvsc.c @@ -1034,7 +1034,7 @@ static int netvsc_dma_map(struct hv_device *hv_dev, packet->dma_range = kcalloc(page_count, sizeof(*packet->dma_range), - GFP_KERNEL); + GFP_ATOMIC); if (!packet->dma_range) return -ENOMEM;