Matthew Daley a76f48e533 xen_disk: mark ioreq as mapped before unmapping in error case
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>
2013-10-10 14:23:45 +00:00
2013-04-18 13:50:53 +02:00
2013-07-09 13:38:56 -05:00
2013-09-30 17:15:01 -05:00
2013-08-07 12:48:00 -05:00
2013-09-03 12:25:55 +02:00
2013-05-03 13:58:09 +02:00
2012-09-07 09:02:44 +03:00
2013-07-18 08:17:42 -07:00
2013-09-05 09:40:31 -05:00
2013-09-30 17:15:01 -05:00
2013-09-06 15:25:08 +02:00
2012-05-14 07:27:24 +02:00
2013-09-02 09:08:29 -07:00
2013-09-03 12:25:55 +02:00
2013-09-03 12:25:55 +02:00
2013-09-03 12:25:55 +02:00
2013-09-03 12:25:55 +02:00
2013-07-23 02:41:31 +02:00
2013-09-17 11:10:47 -05:00
2013-02-21 16:17:31 -06:00
2013-08-12 09:15:12 -05:00
2013-06-14 15:33:10 +01:00
2013-09-03 12:25:55 +02:00
2013-09-24 13:22:50 +02:00
2013-09-03 12:33:32 -05:00
2013-09-06 15:25:08 +02:00
2013-05-18 16:35:12 +04:00
2013-09-12 09:58:18 +02:00
2013-09-12 13:49:50 +02:00
2013-07-19 12:52:03 +04:00
2013-05-01 13:06:07 +02:00
2013-09-02 09:08:29 -07:00
2011-12-11 17:50:43 -06:00
2013-08-15 15:41:13 -05:00
2013-08-27 14:21:16 +02:00
2013-09-30 17:15:01 -05:00
2013-09-25 16:41:48 +00:00
2013-04-08 18:13:10 +02:00

Read the documentation in qemu-doc.html or on http://wiki.qemu.org

- QEMU team
Description
No description provided
Readme 404 MiB
Languages
C 82.6%
C++ 6.5%
Python 3.4%
Dylan 2.9%
Shell 1.6%
Other 2.8%