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>