From: Dexuan Cui <decui@xxxxxxxxxxxxx> Sent: Monday, January 6, 2020 2:39 PM > > Now that we use kzalloc() to allocate the hbus buffer, we should use > kfree() in the error path as well. > > Also remove the type casting, since it's unnecessary in C. > > Fixes: 877b911a5ba0 ("PCI: hv: Avoid a kmemleak false positive caused by the hbus buffer") > Signed-off-by: Dexuan Cui <decui@xxxxxxxxxxxxx> > --- > > Sorry for missing the error handling path. > > drivers/pci/controller/pci-hyperv.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/pci/controller/pci-hyperv.c b/drivers/pci/controller/pci-hyperv.c > index 9977abff92fc..15011a349520 100644 > --- a/drivers/pci/controller/pci-hyperv.c > +++ b/drivers/pci/controller/pci-hyperv.c > @@ -2922,7 +2922,7 @@ static int hv_pci_probe(struct hv_device *hdev, > * positive by using kmemleak_alloc() and kmemleak_free() to ask > * kmemleak to track and scan the hbus buffer. > */ > - hbus = (struct hv_pcibus_device *)kzalloc(HV_HYP_PAGE_SIZE, GFP_KERNEL); > + hbus = kzalloc(HV_HYP_PAGE_SIZE, GFP_KERNEL); > if (!hbus) > return -ENOMEM; > hbus->state = hv_pcibus_init; > @@ -3058,7 +3058,7 @@ static int hv_pci_probe(struct hv_device *hdev, > free_dom: > hv_put_dom_num(hbus->sysdata.domain); > free_bus: > - free_page((unsigned long)hbus); > + kfree(hbus); > return ret; > } > > -- > 2.19.1 Reviewed-by: Michael Kelley <mikelley@xxxxxxxxxxxxx>