Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8d0b8801 authored by Wei Liu's avatar Wei Liu Committed by Konrad Rzeszutek Wilk
Browse files

xenbus_client.c: correct exit path for xenbus_map_ring_valloc_hvm



Apparently we should not free page that has not been allocated.
This is b/c alloc_xenballooned_pages will take care of freeing
the page on its own.

Signed-off-by: default avatarWei Liu <wei.liu2@citrix.com>
Signed-off-by: default avatarKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
parent d69c0e39
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -534,7 +534,7 @@ static int xenbus_map_ring_valloc_hvm(struct xenbus_device *dev,

	err = xenbus_map_ring(dev, gnt_ref, &node->handle, addr);
	if (err)
		goto out_err;
		goto out_err_free_ballooned_pages;

	spin_lock(&xenbus_valloc_lock);
	list_add(&node->next, &xenbus_valloc_pages);
@@ -543,8 +543,9 @@ static int xenbus_map_ring_valloc_hvm(struct xenbus_device *dev,
	*vaddr = addr;
	return 0;

 out_err:
 out_err_free_ballooned_pages:
	free_xenballooned_pages(1, &node->page);
 out_err:
	kfree(node);
	return err;
}