Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 27 Jun 2019 00:00:48 +0000 (UTC)
From:      Alan Somers <asomers@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r349447 - projects/fuse2/sys/fs/fuse
Message-ID:  <201906270000.x5R00mqn082618@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201906270000.x5R00mqn082618>