trigger access to tag_set, so a null check on map became necessary to avoid a potential null pointer dereference. The original patch merged into mainline was missing this Fixes tag. 2. @@ -2972,7 +2972,8 @@ static int __dm_suspend(struct mapped_device *md, struct dm_table *map,          * We call dm_wait_for_completion to wait for all existing requests          * to finish.          */ -       r = dm_wait_for_completion(md, task_state); +       if (map) +               r = dm_wait_for_completion(md, task_state);         if (!r)                 set_bit(dmf_suspended_flag, &md->flags); After commit c4576aed8d85 ("dm: fix request-based dm's use of dm_wait_for_completion") was merged in v5.0, dm_wait_for_completion() started to access tag_set, so the additional null check on map was also needed to prevent a null pointer dereference. In summary: For kernels v6.2 and later, there should be two Fixes tags: Fixes: 80bd4a7aab4c ("blk-mq: move the srcu_struct used for quiescing to the tagset") Fixes: c4576aed8d85 ("dm: fix request-based dm's use of dm_wait_for_completion") For kernels v5.0 to v6.2, only the second Fixes tag is needed: Fixes: c4576aed8d85 ("dm: fix request-based dm's use of dm_wait_for_completion") Although the first change isn't actually required for kernels between v5.0 and v6.2, it doesn't introduce any new issues, so there's no need to revert it. My suggestion is: For stable kernels v6.2 and later, if this patch hasn't been applied yet, it would be better to include the extra Fixes tag for 80bd4a7aab4c when merging. If it has already been merged, there's no need to revert it, since the first change is harmless anyway. Sorry for not explaining this clearly earlier. Thanks, Lingfeng[PATCH 5.10.y] dm: fix NULL pointer dereference in __dm_suspend()Li Lingfeng undefinedGreg KH undefined undefined undefined undefined undefined undefined undefined undefined undefined˜