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

Commit a01b49a9 authored by Jan Beulich's avatar Jan Beulich Committed by Greg Kroah-Hartman
Browse files

xen-blkback: don't "handle" error by BUG()



commit 5a264285ed1cd32e26d9de4f3c8c6855e467fd63 upstream.

In particular -ENOMEM may come back here, from set_foreign_p2m_mapping().
Don't make problems worse, the more that handling elsewhere (together
with map's status fields now indicating whether a mapping wasn't even
attempted, and hence has to be considered failed) doesn't require this
odd way of dealing with errors.

This is part of XSA-362.

Signed-off-by: default avatarJan Beulich <jbeulich@suse.com>
Cc: stable@vger.kernel.org
Reviewed-by: default avatarJuergen Gross <jgross@suse.com>
Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 271a3984
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -867,10 +867,8 @@ static int xen_blkbk_map(struct xen_blkif_ring *ring,
			break;
	}

	if (segs_to_map) {
	if (segs_to_map)
		ret = gnttab_map_refs(map, NULL, pages_to_gnt, segs_to_map);
		BUG_ON(ret);
	}

	/*
	 * Now swizzle the MFN in our domain with the MFN from the other domain
@@ -885,7 +883,7 @@ static int xen_blkbk_map(struct xen_blkif_ring *ring,
				pr_debug("invalid buffer -- could not remap it\n");
				put_free_pages(ring, &pages[seg_idx]->page, 1);
				pages[seg_idx]->handle = BLKBACK_INVALID_HANDLE;
				ret |= 1;
				ret |= !ret;
				goto next;
			}
			pages[seg_idx]->handle = map[new_map_idx].handle;