a76f48e533
Commit 4472beae modified the semantics of ioreq_{un,}map so that they are idempotent if called when they're not needed (ie., twice in a row). However, it neglected to handle the case where batch mapping is not being used (the default), and one of the grants fails to map. In this case, ioreq_unmap will be called to unwind and unmap any mappings already performed, but ioreq_unmap simply returns due to the aforementioned change (the ioreq has not already been marked as mapped). The frontend user can therefore force xen_disk to leak grant mappings, a per-domain limited resource. Fix by marking the ioreq as mapped before calling ioreq_unmap in this situation. Signed-off-by: Matthew Daley <mattjd@gmail.com> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> |
||
---|---|---|
.. | ||
dataplane | ||
block.c | ||
cdrom.c | ||
ecc.c | ||
fdc.c | ||
hd-geometry.c | ||
m25p80.c | ||
Makefile.objs | ||
nand.c | ||
nvme.c | ||
nvme.h | ||
onenand.c | ||
pflash_cfi01.c | ||
pflash_cfi02.c | ||
tc58128.c | ||
virtio-blk.c | ||
xen_blkif.h | ||
xen_disk.c |