qemu-block
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 2/2] block: Fix Transaction leak in bdrv_reopen_multiple()


From: Vladimir Sementsov-Ogievskiy
Subject: Re: [PATCH 2/2] block: Fix Transaction leak in bdrv_reopen_multiple()
Date: Mon, 3 May 2021 14:40:14 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.10.0

03.05.2021 14:05, Kevin Wolf wrote:
Like other error paths, this one needs to call tran_finalize() and clean
up the BlockReopenQueue, too.

We don't need the "abort" loop on that path. And clean-up of BlockReopenQueue is at 
"cleanup:" label.

So I'd prefer Peter's suggestion (my "[PATCH 2/6] block: bdrv_reopen_multiple(): fix 
leak of tran object")


Fixes: CID 1452772
Fixes: 72373e40fbc7e4218061a8211384db362d3e7348
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
---
  block.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/block.c b/block.c
index 5c0ced6238..69615fabd1 100644
--- a/block.c
+++ b/block.c
@@ -4052,7 +4052,7 @@ int bdrv_reopen_multiple(BlockReopenQueue *bs_queue, 
Error **errp)
          ret = bdrv_flush(bs_entry->state.bs);
          if (ret < 0) {
              error_setg_errno(errp, -ret, "Error flushing drive");
-            goto cleanup;
+            goto abort;
          }
      }




--
Best regards,
Vladimir



reply via email to

[Prev in Thread] Current Thread [Next in Thread]