Am 03.03.2017 um 14:38 hat Fam Zheng geschrieben: > We have an errp and bdrv_root_attach_child can fail permission check, > error_abort is not the best choice here. > > Signed-off-by: Fam Zheng <f...@redhat.com> > --- > block/block-backend.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/block/block-backend.c b/block/block-backend.c > index daa7908..4eab68f 100644 > --- a/block/block-backend.c > +++ b/block/block-backend.c > @@ -213,7 +213,11 @@ BlockBackend *blk_new_open(const char *filename, const > char *reference, > } > > blk->root = bdrv_root_attach_child(bs, "root", &child_root, > - perm, BLK_PERM_ALL, blk, > &error_abort); > + perm, BLK_PERM_ALL, blk, errp); > + if (!blk->root) { > + blk_unref(blk); > + return NULL; > + }
Shouldn't we bdrv_unref(bs), too? Kevin