Call nvlist_free before return
Fixes a small kernel memory leak which would occur if a pool failed to import because the `DMU_POOL_VDEV_ZAP_MAP` key can't be read from a presumably damaged MOS config. In the case of a missing key there was no leak. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Ryan Moeller <ryan@iXsystems.com> Signed-off-by: Finix1979 <yancw@info2soft.com> Closes #13629
This commit is contained in:
parent
74230a5bc1
commit
cb01da6805
|
@ -4209,6 +4209,7 @@ spa_ld_get_props(spa_t *spa)
|
|||
spa->spa_avz_action = AVZ_ACTION_INITIALIZE;
|
||||
ASSERT0(vdev_count_verify_zaps(spa->spa_root_vdev));
|
||||
} else if (error != 0) {
|
||||
nvlist_free(mos_config);
|
||||
return (spa_vdev_err(rvd, VDEV_AUX_CORRUPT_DATA, EIO));
|
||||
} else if (!nvlist_exists(mos_config, ZPOOL_CONFIG_HAS_PER_VDEV_ZAPS)) {
|
||||
/*
|
||||
|
|
Loading…
Reference in New Issue