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: Wei Liu <wei.liu2@citrix.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
 
        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);
        *vaddr = addr;
        return 0;
 
- out_err:
+ out_err_free_ballooned_pages:
        free_xenballooned_pages(1, &node->page);
+ out_err:
        kfree(node);
        return err;
 }