On Wed, Sep 03, 2025 at 11:59:21AM -0700, Vishal Moola (Oracle) wrote:
> free_pages() should be used when we only have a virtual address. We
> should call __free_pages() directly on our page instead.
> 
> Signed-off-by: Vishal Moola (Oracle) <[email protected]>

Acked-by: Michael S. Tsirkin <[email protected]>

> ---
>  drivers/virtio/virtio_balloon.c | 8 +++-----
>  1 file changed, 3 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/virtio/virtio_balloon.c b/drivers/virtio/virtio_balloon.c
> index eae65136cdfb..7f3fd72678eb 100644
> --- a/drivers/virtio/virtio_balloon.c
> +++ b/drivers/virtio/virtio_balloon.c
> @@ -488,8 +488,7 @@ static unsigned long return_free_pages_to_mm(struct 
> virtio_balloon *vb,
>               page = balloon_page_pop(&vb->free_page_list);
>               if (!page)
>                       break;
> -             free_pages((unsigned long)page_address(page),
> -                        VIRTIO_BALLOON_HINT_BLOCK_ORDER);
> +             __free_pages(page, VIRTIO_BALLOON_HINT_BLOCK_ORDER);
>       }
>       vb->num_free_page_blocks -= num_returned;
>       spin_unlock_irq(&vb->free_page_list_lock);
> @@ -719,8 +718,7 @@ static int get_free_page_and_send(struct virtio_balloon 
> *vb)
>       if (vq->num_free > 1) {
>               err = virtqueue_add_inbuf(vq, &sg, 1, p, GFP_KERNEL);
>               if (unlikely(err)) {
> -                     free_pages((unsigned long)p,
> -                                VIRTIO_BALLOON_HINT_BLOCK_ORDER);
> +                     __free_pages(page, VIRTIO_BALLOON_HINT_BLOCK_ORDER);
>                       return err;
>               }
>               virtqueue_kick(vq);
> @@ -733,7 +731,7 @@ static int get_free_page_and_send(struct virtio_balloon 
> *vb)
>                * The vq has no available entry to add this page block, so
>                * just free it.
>                */
> -             free_pages((unsigned long)p, VIRTIO_BALLOON_HINT_BLOCK_ORDER);
> +             __free_pages(page, VIRTIO_BALLOON_HINT_BLOCK_ORDER);
>       }
>  
>       return 0;
> -- 
> 2.51.0


Reply via email to