]> git.dujemihanovic.xyz Git - linux.git/commitdiff
virtio_net: Fix memory leak in virtnet_rx_mod_work
authorDaniel Jurgens <danielj@nvidia.com>
Thu, 9 May 2024 18:36:34 +0000 (13:36 -0500)
committerJakub Kicinski <kuba@kernel.org>
Sat, 11 May 2024 01:20:07 +0000 (18:20 -0700)
The pointer delcaration was missing the __free(kfree).

Fixes: ff7c7d9f5261 ("virtio_net: Remove command data from control_buf")
Reported-by: Jens Axboe <axboe@kernel.dk>
Closes: https://lore.kernel.org/netdev/0674ca1b-020f-4f93-94d0-104964566e3f@kernel.dk/
Signed-off-by: Daniel Jurgens <danielj@nvidia.com>
Tested-by: Jens Axboe <axboe@kernel.dk>
Reviewed-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Link: https://lore.kernel.org/r/20240509183634.143273-1-danielj@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/virtio_net.c

index 218a446c4c278e7054d471287a0644dbc3280fdb..ad0fb832b538a737612735e02049930afca0c2a3 100644 (file)
@@ -2862,7 +2862,6 @@ static int virtnet_set_queues(struct virtnet_info *vi, u16 queue_pairs)
 
 static int virtnet_close(struct net_device *dev)
 {
-       u8 *promisc_allmulti  __free(kfree) = NULL;
        struct virtnet_info *vi = netdev_priv(dev);
        int i;
 
@@ -2883,11 +2882,11 @@ static void virtnet_rx_mode_work(struct work_struct *work)
 {
        struct virtnet_info *vi =
                container_of(work, struct virtnet_info, rx_mode_work);
+       u8 *promisc_allmulti  __free(kfree) = NULL;
        struct net_device *dev = vi->dev;
        struct scatterlist sg[2];
        struct virtio_net_ctrl_mac *mac_data;
        struct netdev_hw_addr *ha;
-       u8 *promisc_allmulti;
        int uc_count;
        int mc_count;
        void *buf;