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
/**