commit: 47f1b8803e1e358ebbf4f82bfdb98971c912a2c3 From: =?UTF-8?q?J=C3=B6rn=20Engel?= <[email protected]> Date: Wed, 15 Feb 2012 16:52:11 -0500 Subject: target: prevent NULL pointer dereference in target_report_luns
transport_kmap_data_sg can return NULL. I never saw this trigger, but returning -ENOMEM seems better than a crash. Also removes a pointless case while at it. Signed-off-by: Joern Engel <[email protected]> Cc: [email protected] Signed-off-by: Nicholas Bellinger <[email protected]> --- drivers/target/target_core_device.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/drivers/target/target_core_device.c b/drivers/target/target_core_device.c index b0572f4..36fa75d 100644 --- a/drivers/target/target_core_device.c +++ b/drivers/target/target_core_device.c @@ -652,7 +652,9 @@ int target_report_luns(struct se_task *se_task) unsigned char *buf; u32 cdb_offset = 0, lun_count = 0, offset = 8, i; - buf = (unsigned char *) transport_kmap_data_sg(se_cmd); + buf = transport_kmap_data_sg(se_cmd); + if (!buf) + return -ENOMEM; /* * If no struct se_session pointer is present, this struct se_cmd is -- 1.7.3.4 -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
