@samitouri / QOSamiQemu / commits / b8b054690c

fuse: Destroy session on mount_fuse_export() fail

If mount_fuse_export() fails to mount the session, destroy it. Depending on the allow_other configuration, fuse_export_create() may retry this function on error, which may leak one session instance otherwise. Signed-off-by: Hanna Czenczek <hreitz@redhat.com> Message-ID: <20260309150856.26800-7-hreitz@redhat.com> Reviewed-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>

Hanna Czenczek committed Mar 9, 2026 at 16:08 UTC b8b054690c5c73f9df402530758917f53b1519f4
1 file changed +7 -1
block/export/fuse.c
+7 -1
@@ -270,11 +270,17 @@ static int mount_fuse_export(FuseExport *exp, Error **errp)
270 ret = fuse_session_mount(exp->fuse_session, exp->mountpoint);
271 if (ret < 0) {
272 error_setg(errp, "Failed to mount FUSE session to export");
273 - return -EIO;
273 + ret = -EIO;
274 + goto fail;
275 }
276 exp->mounted = true;
277
278 return 0;
279 +
280 +fail:
281 + fuse_session_destroy(exp->fuse_session);
282 + exp->fuse_session = NULL;
283 + return ret;
284 }
285
286 /**