]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/target/target_core_device.c
target: fix use after free in target_report_luns
[karo-tx-linux.git] / drivers / target / target_core_device.c
index edbcabbf85f7339d1eddef7d618b26181540cd5a..b013437679cdaadebc65025290728d3bdd811649 100644 (file)
@@ -695,12 +695,12 @@ int target_report_luns(struct se_task *se_task)
         * See SPC3 r07, page 159.
         */
 done:
-       transport_kunmap_data_sg(se_cmd);
        lun_count *= 8;
        buf[0] = ((lun_count >> 24) & 0xff);
        buf[1] = ((lun_count >> 16) & 0xff);
        buf[2] = ((lun_count >> 8) & 0xff);
        buf[3] = (lun_count & 0xff);
+       transport_kunmap_data_sg(se_cmd);
 
        se_task->task_scsi_status = GOOD;
        transport_complete_task(se_task, 1);