svn commit: r349447 - projects/fuse2/sys/fs/fuse
Alan Somers
asomers at FreeBSD.org
Thu Jun 27 00:00:49 UTC 2019
Author: asomers
Date: Thu Jun 27 00:00:48 2019
New Revision: 349447
URL: https://svnweb.freebsd.org/changeset/base/349447
Log:
fusefs: fix some memory leaks
Fix memory leaks relating to FUSE_BMAP and FUSE_CREATE. There are still
leaks relating to FUSE_INTERRUPT, but they'll be harder to fix since the
server is legally allowed to never respond to a FUSE_INTERRUPT operation.
Sponsored by: The FreeBSD Foundation
Modified:
projects/fuse2/sys/fs/fuse/fuse_vnops.c
Modified: projects/fuse2/sys/fs/fuse/fuse_vnops.c
==============================================================================
--- projects/fuse2/sys/fs/fuse/fuse_vnops.c Wed Jun 26 23:33:32 2019 (r349446)
+++ projects/fuse2/sys/fs/fuse/fuse_vnops.c Thu Jun 27 00:00:48 2019 (r349447)
@@ -536,12 +536,14 @@ fuse_vnop_bmap(struct vop_bmap_args *ap)
fbi->blocksize = biosize;
error = fdisp_wait_answ(&fdi);
if (error == ENOSYS) {
+ fdisp_destroy(&fdi);
fsess_set_notimpl(mp, FUSE_BMAP);
error = 0;
} else {
fbo = fdi.answ;
if (error == 0 && pbn != NULL)
*pbn = fbo->block;
+ fdisp_destroy(&fdi);
return error;
}
}
@@ -693,6 +695,7 @@ fuse_vnop_create(struct vop_create_args *ap)
if (err) {
if (err == ENOSYS && op == FUSE_CREATE) {
fsess_set_notimpl(mp, FUSE_CREATE);
+ fdisp_destroy(fdip);
fdisp_make_mknod_for_fallback(fdip, cnp, dvp,
parentnid, td, cred, mode, &op);
err = fdisp_wait_answ(fdip);
More information about the svn-src-projects
mailing list