mirror of
https://github.com/freebsd/freebsd-src.git
synced 2026-10-28 19:34:43 +01:00
Fix null dereference in spa_vdev_remove_cancel_sync()
We don't really need to access space map to know where the metaslab ends, while msp->ms_sm might be NULL. Reviewed-by: Brian Behlendorf <[email protected]> Reviewed-by: Rob Norris <[email protected]> Reviewed by: Igor Kozhukhov <[email protected]> Signed-off-by: Alexander Motin <[email protected]> Sponsored by: iXsystems, Inc. Fixes #17164 Fixes #17359 Closes #17361
This commit is contained in:
1 parent
a6f20250de
commit
5c30b24381
1 file changed
+3
-4
@@ -1931,10 +1931,9 @@ spa_vdev_remove_cancel_sync(void *arg, dmu_tx_t *tx)
|
||||
* because we have not allocated mappings for it yet.
|
||||
*/
|
||||
uint64_t syncd = vdev_indirect_mapping_max_offset(vim);
|
||||
uint64_t sm_end = msp->ms_sm->sm_start +
|
||||
msp->ms_sm->sm_size;
|
||||
if (sm_end > syncd)
|
||||
zfs_range_tree_clear(segs, syncd, sm_end - syncd);
|
||||
uint64_t ms_end = msp->ms_start + msp->ms_size;
|
||||
if (ms_end > syncd)
|
||||
zfs_range_tree_clear(segs, syncd, ms_end - syncd);
|
||||
|
||||
zfs_range_tree_vacate(segs, free_mapped_segment_cb, vd);
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user