On Fri, 12 Sep 2025 15:04:18 +0000 Zilin Guan <zilin@xxxxxxxxxx> wrote: > host_ack_bmp is allocated with vzalloc but is currently freed via > bitmap_free (which ends up using kfree). This is incorrect as > allocation and deallocation functions should be paired. This patch is fixing the freeing of host_seq_bmp, not host_ack_bmp. Both are allocated with vzalloc(). The same logic applies but the commit log is incorrect. > Using mismatched alloc/free may lead to undefined behavior, memory leaks, > or system instability. > > This patch fixes the mismatch by freeing host_ack_bmp with vfree to > match the vzalloc allocation. > Fixes: f232836a9152 ("vfio/pds: Add support for dirty page tracking") Thanks, Alex > Signed-off-by: Zilin Guan <zilin@xxxxxxxxxx> > --- > drivers/vfio/pci/pds/dirty.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/vfio/pci/pds/dirty.c b/drivers/vfio/pci/pds/dirty.c > index c51f5e4c3dd6..481992142f79 100644 > --- a/drivers/vfio/pci/pds/dirty.c > +++ b/drivers/vfio/pci/pds/dirty.c > @@ -82,7 +82,7 @@ static int pds_vfio_dirty_alloc_bitmaps(struct pds_vfio_region *region, > > host_ack_bmp = vzalloc(bytes); > if (!host_ack_bmp) { > - bitmap_free(host_seq_bmp); > + vfree(host_seq_bmp); > return -ENOMEM; > } >