mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2025-01-27 02:14:28 +03:00
Fix spa reference leak in zfs_ioc_pool_scan
zfs_ioc_pool_scan leaks a spa reference when zc->zc_flags is not a valid pool_scrub_cmd_t: this could happen if the userland binaries and ZFS kernel module differ in version and would prevent the pool from being exported. Reviewed by: Matt Ahrens <matt@delphix.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Giuseppe Di Natale <dinatale2@llnl.gov> Signed-off-by: loli10K <ezomori.nozomu@gmail.com> Closes #7380
This commit is contained in:
parent
f119d00c1f
commit
1724eb62de
@ -1732,12 +1732,12 @@ zfs_ioc_pool_scan(zfs_cmd_t *zc)
|
||||
spa_t *spa;
|
||||
int error;
|
||||
|
||||
if ((error = spa_open(zc->zc_name, &spa, FTAG)) != 0)
|
||||
return (error);
|
||||
|
||||
if (zc->zc_flags >= POOL_SCRUB_FLAGS_END)
|
||||
return (SET_ERROR(EINVAL));
|
||||
|
||||
if ((error = spa_open(zc->zc_name, &spa, FTAG)) != 0)
|
||||
return (error);
|
||||
|
||||
if (zc->zc_flags == POOL_SCRUB_PAUSE)
|
||||
error = spa_scrub_pause_resume(spa, POOL_SCRUB_PAUSE);
|
||||
else if (zc->zc_cookie == POOL_SCAN_NONE)
|
||||
|
Loading…
Reference in New Issue
Block a user