Patch "virtio-net: fix pages leaking when building skb in big mode" has been added to the 5.14-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    virtio-net: fix pages leaking when building skb in big mode

to the 5.14-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     virtio-net-fix-pages-leaking-when-building-skb-in-bi.patch
and it can be found in the queue-5.14 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 9a700429bbb267c9789aafca0ca50763c4104370
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date:   Fri Sep 17 16:34:06 2021 +0800

    virtio-net: fix pages leaking when building skb in big mode
    
    [ Upstream commit afd92d82c9d715fb97565408755acad81573591a ]
    
    We try to use build_skb() if we had sufficient tailroom. But we forget
    to release the unused pages chained via private in big mode which will
    leak pages. Fixing this by release the pages after building the skb in
    big mode.
    
    Cc: Xuan Zhuo <xuanzhuo@xxxxxxxxxxxxxxxxx>
    Fixes: fb32856b16ad ("virtio-net: page_to_skb() use build_skb when there's sufficient tailroom")
    Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
    Reviewed-by: Xuan Zhuo <xuanzhuo@xxxxxxxxxxxxxxxxx>
    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c
index eee493685aad..fb96658bb91f 100644
--- a/drivers/net/virtio_net.c
+++ b/drivers/net/virtio_net.c
@@ -435,6 +435,10 @@ static struct sk_buff *page_to_skb(struct virtnet_info *vi,
 
 		skb_reserve(skb, p - buf);
 		skb_put(skb, len);
+
+		page = (struct page *)page->private;
+		if (page)
+			give_pages(rq, page);
 		goto ok;
 	}
 



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux