Skip to content

Commit 908bfb0

Browse files
committed
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. Signed-off-by: Alexander Motin <[email protected]> Sponsored by: iXsystems, Inc. Fixes openzfs#17164 Fixes openzfs#17359
1 parent 2e5e4bb commit 908bfb0

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)