Date: Sun, 29 Aug 2021 17:00:03 GMT From: Kyle Evans <kevans@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Subject: git: 99992f383bff - stable/12 - kern: mountroot: avoid fd leak in .md parsing Message-ID: <202108291700.17TH03DW043860@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch stable/12 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=99992f383bff2d3293018965c9c747fbdcdd8d7f commit 99992f383bff2d3293018965c9c747fbdcdd8d7f Author: Kyle Evans <kevans@FreeBSD.org> AuthorDate: 2021-07-20 10:23:11 +0000 Commit: Kyle Evans <kevans@FreeBSD.org> CommitDate: 2021-08-29 16:58:34 +0000 kern: mountroot: avoid fd leak in .md parsing parse_dir_md() opens /dev/mdctl but only closes the resulting fd on success, not upon failure of the ioctl or when we exceed the md unit max. Sponsored by: NetApp, Inc. Sponsored by: Klara, Inc. X-NetApp-PR: #62 (cherry picked from commit 23ecfa9d5bc4f04eb58e26018c2d15f032d5d742) --- sys/kern/vfs_mountroot.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sys/kern/vfs_mountroot.c b/sys/kern/vfs_mountroot.c index ba83fc0b2c40..31420e661705 100644 --- a/sys/kern/vfs_mountroot.c +++ b/sys/kern/vfs_mountroot.c @@ -584,6 +584,7 @@ parse_dir_md(char **conf) int error, fd, len; td = curthread; + fd = -1; error = parse_token(conf, &tok); if (error) @@ -639,9 +640,9 @@ parse_dir_md(char **conf) root_mount_mddev = mdio->md_unit; printf(MD_NAME "%u attached to %s\n", root_mount_mddev, mdio->md_file); - error = kern_close(td, fd); - out: + if (fd >= 0) + (void)kern_close(td, fd); free(mdio, M_TEMP); return (error); }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202108291700.17TH03DW043860>