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

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
...@@ -534,7 +534,7 @@ static int xenbus_map_ring_valloc_hvm(struct xenbus_device *dev, ...@@ -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); err = xenbus_map_ring(dev, gnt_ref, &node->handle, addr);
if (err) if (err)
goto out_err; goto out_err_free_ballooned_pages;
spin_lock(&xenbus_valloc_lock); spin_lock(&xenbus_valloc_lock);
list_add(&node->next, &xenbus_valloc_pages); list_add(&node->next, &xenbus_valloc_pages);
...@@ -543,8 +543,9 @@ static int xenbus_map_ring_valloc_hvm(struct xenbus_device *dev, ...@@ -543,8 +543,9 @@ static int xenbus_map_ring_valloc_hvm(struct xenbus_device *dev,
*vaddr = addr; *vaddr = addr;
return 0; return 0;
out_err: out_err_free_ballooned_pages:
free_xenballooned_pages(1, &node->page); free_xenballooned_pages(1, &node->page);
out_err:
kfree(node); kfree(node);
return err; return err;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment