From: Nicholas Bellinger Date: Fri, 27 Feb 2015 11:54:13 +0000 (-0800) Subject: target/pscsi: Fix NULL pointer dereference in get_device_type X-Git-Tag: v4.0-rc5~11^2~2 X-Git-Url: http://git.cascardo.eti.br/?a=commitdiff_plain;h=215a8fe4198f607f34ecdbc9969dae783d8b5a61;p=cascardo%2Flinux.git target/pscsi: Fix NULL pointer dereference in get_device_type This patch fixes a NULL pointer dereference OOPs with pSCSI backends within target_core_stat.c code. The bug is caused by a configfs attr read if no pscsi_dev_virt->pdv_sd has been configured. Reported-by: Olaf Hering Cc: Signed-off-by: Nicholas Bellinger --- diff --git a/drivers/target/target_core_pscsi.c b/drivers/target/target_core_pscsi.c index 1045dcd7bf65..f6c954c4635f 100644 --- a/drivers/target/target_core_pscsi.c +++ b/drivers/target/target_core_pscsi.c @@ -1121,7 +1121,7 @@ static u32 pscsi_get_device_type(struct se_device *dev) struct pscsi_dev_virt *pdv = PSCSI_DEV(dev); struct scsi_device *sd = pdv->pdv_sd; - return sd->type; + return (sd) ? sd->type : TYPE_NO_LUN; } static sector_t pscsi_get_blocks(struct se_device *dev)