[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [linux-2.6.18-xen] xen/grant-table: add error-handling code on failure of gnttab_resume
# HG changeset patch # User Julia Lawall <Julia.Lawall@xxxxxxx> # Date 1336476488 -7200 # Node ID 7ba94caa95963bacd3557d276ea3362e566fb308 # Parent f523a98343a9e20e88cde7a6af9cf7e4415ec57d xen/grant-table: add error-handling code on failure of gnttab_resume Jump to the label ini_nomem as done on the failure of the page allocations above. The code at ini_nomem is modified to accommodate different return values. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> Committed-by: Jan Beulich <jbeulich@xxxxxxxx> --- diff -r f523a98343a9 -r 7ba94caa9596 drivers/xen/core/gnttab.c --- a/drivers/xen/core/gnttab.c Mon Apr 02 14:47:52 2012 +0200 +++ b/drivers/xen/core/gnttab.c Tue May 08 13:28:08 2012 +0200 @@ -805,7 +805,7 @@ static int gnttab_expand(unsigned int re int __devinit gnttab_init(void) { - int i; + int i, ret; unsigned int max_nr_glist_frames, nr_glist_frames; unsigned int nr_init_grefs; @@ -828,12 +828,16 @@ int __devinit gnttab_init(void) nr_glist_frames = nr_freelist_frames(nr_grant_frames); for (i = 0; i < nr_glist_frames; i++) { gnttab_list[i] = (grant_ref_t *)__get_free_page(GFP_KERNEL); - if (gnttab_list[i] == NULL) + if (gnttab_list[i] == NULL) { + ret = -ENOMEM; goto ini_nomem; + } } - if (gnttab_resume() < 0) - return -ENODEV; + if (gnttab_resume() < 0) { + ret = -ENODEV; + goto ini_nomem; + } nr_init_grefs = nr_grant_frames * ENTRIES_PER_GRANT_FRAME; @@ -850,7 +854,7 @@ int __devinit gnttab_init(void) for (i--; i >= 0; i--) free_page((unsigned long)gnttab_list[i]); kfree(gnttab_list); - return -ENOMEM; + return ret; } #ifdef CONFIG_XEN _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |