HomeFreeBSD

xen/blkback: fix tear-down issues

Description

xen/blkback: fix tear-down issues

Handle tearing down a blkback that hasn't been fully initialized. This
requires carefully checking that fields are allocated before trying to
access them. Also communication memory is allocated before setting
XBBF_RING_CONNECTED, so gating it's freeing on XBBF_RING_CONNECTED
being set is wrong and will lead to memory leaks.

Also stop using xbb_disconnect() in error paths. Use xenbus_dev_fatal
and let the normal disconnection procedure take care of the cleanup.

Reported by: Ze Dupsys <zedupsys@gmail.com>
Sponsored by: Citrix Systems R&D

Details

Provenance
roygerAuthored on Mar 27 2022, 8:43 AM
Parents
rGf3d54ded282c: xenbus: improve device tracking
Branches
Unknown
Tags
Unknown