xen/blkback: don't free be structure too early
authorJuergen Gross <jgross@suse.com>
Thu, 18 May 2017 15:28:48 +0000 (17:28 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 5 Jul 2017 12:40:20 +0000 (14:40 +0200)
commitafaee3ef513650b2f6cb9e2c860b9210875a8135
tree747025cd98a92ffa4008ab882645e67675fab49e
parent13fa36f9fbc84c47cef6673d5e2f3a20693d6eff
xen/blkback: don't free be structure too early

commit 71df1d7ccad1c36f7321d6b3b48f2ea42681c363 upstream.

The be structure must not be freed when freeing the blkif structure
isn't done. Otherwise a use-after-free of be when unmapping the ring
used for communicating with the frontend will occur in case of a
late call of xenblk_disconnect() (e.g. due to an I/O still active
when trying to disconnect).

Signed-off-by: Juergen Gross <jgross@suse.com>
Tested-by: Steven Haigh <netwiz@crc.id.au>
Acked-by: Roger Pau Monné <roger.pau@citrix.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/block/xen-blkback/xenbus.c