xen/blkback: fix memory leaks
authorWenwen Wang <wenwen@cs.uga.edu>
Sun, 11 Aug 2019 17:23:22 +0000 (12:23 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 6 Sep 2019 08:19:42 +0000 (10:19 +0200)
commitf5679e5a00f5ac37eb0c5e6cbb455de0aabc0ee6
tree7618689eafd1c9f1aa2c437061a461f229222ef9
parentd023765893154158b590ca94f5f5e11df857c9a7
xen/blkback: fix memory leaks

[ Upstream commit ae78ca3cf3d9e9f914bfcd0bc5c389ff18b9c2e0 ]

In read_per_ring_refs(), after 'req' and related memory regions are
allocated, xen_blkif_map() is invoked to map the shared frame, irq, and
etc. However, if this mapping process fails, no cleanup is performed,
leading to memory leaks. To fix this issue, invoke the cleanup before
returning the error.

Acked-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Signed-off-by: Wenwen Wang <wenwen@cs.uga.edu>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/block/xen-blkback/xenbus.c