Skip to content

Commit 5c30b24

Browse files
authored
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 openzfs#17164 Fixes openzfs#17359 Closes openzfs#17361
1 parent a6f2025 commit 5c30b24

File tree

1 file changed

+3
-4
lines changed

1 file changed

+3
-4
lines changed

module/zfs/vdev_removal.c

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1931,10 +1931,9 @@ spa_vdev_remove_cancel_sync(void *arg, dmu_tx_t *tx)
19311931
* because we have not allocated mappings for it yet.
19321932
*/
19331933
uint64_t syncd = vdev_indirect_mapping_max_offset(vim);
1934-
uint64_t sm_end = msp->ms_sm->sm_start +
1935-
msp->ms_sm->sm_size;
1936-
if (sm_end > syncd)
1937-
zfs_range_tree_clear(segs, syncd, sm_end - syncd);
1934+
uint64_t ms_end = msp->ms_start + msp->ms_size;
1935+
if (ms_end > syncd)
1936+
zfs_range_tree_clear(segs, syncd, ms_end - syncd);
19381937

19391938
zfs_range_tree_vacate(segs, free_mapped_segment_cb, vd);
19401939
}

0 commit comments

Comments
 (0)