xen-gntalloc: signedness bug in add_grefs()
Subsystems (2)
PATCH 2/2 xen-gntalloc: signedness bug in add_grefs()
gref->gref_id is unsigned so the error handling didn't work. gnttab_grant_foreign_access() returns an int type, so we can add a cast here, and it doesn't cause any problems. gnttab_grant_foreign_access() can return a variety of errors including -ENOSPC, -ENOSYS and -ENOMEM.
Signed-off-by Dan Carpenter <[email protected]>
drivers/xen/gntalloc.c +1 -1
@@ -135,7 +135,7 @@ static int add_grefs(struct ioctl_gntalloc_alloc_gref *op,/* Grant foreign access to the page. */ gref->gref_id =gnttab_grant_foreign_access (op->domid,pfn_to_mfn (page_to_pfn (gref->page)), readonly); -if (gref->gref_id <0 ) { +if ((int )gref->gref_id <0 ) { rc = gref->gref_id; goto undo; }