From 17eee3b501a2b097c808b048a7003b7940ac82c6 Mon Sep 17 00:00:00 2001 From: Mark Johnston Date: Mon, 20 Jul 2020 17:05:44 +0000 Subject: [PATCH] Fix a memory leak in dsl_scan_visitbp(). This should be triggered only if arc_read() fails, i.e., quite rarely. The same logic is already present in OpenZFS. PR: 247445 Submitted by: jdolecek@NetBSD.org MFC after: 1 week --- sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c index 54bd8db1cd30..f87a0539e9bb 100644 --- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c +++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c @@ -1789,7 +1789,7 @@ dsl_scan_visitbp(blkptr_t *bp, const zbookmark_phys_t *zb, *bp_toread = *bp; if (dsl_scan_recurse(scn, ds, ostype, dnp, bp_toread, zb, tx) != 0) - return; + goto out; /* * If dsl_scan_ddt() has already visited this block, it will have