From: Nicholas Bellinger Date: Mon, 16 Jun 2014 20:25:54 +0000 (+0000) Subject: target: Fix left-over se_lun->lun_sep pointer OOPs X-Git-Tag: v3.2.61~23 X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3f5ec1a1dc36df4e56656e21ad4a02048bc101b9;p=linux target: Fix left-over se_lun->lun_sep pointer OOPs commit 83ff42fcce070801a3aa1cd6a3269d7426271a8d upstream. This patch fixes a left-over se_lun->lun_sep pointer OOPs when one of the /sys/kernel/config/target/$FABRIC/$WWPN/$TPGT/lun/$LUN/alua* attributes is accessed after the $DEVICE symlink has been removed. To address this bug, go ahead and clear se_lun->lun_sep memory in core_dev_unexport(), so that the existing checks for show/store ALUA attributes in target_core_fabric_configfs.c work as expected. Reported-by: Sebastian Herbszt Tested-by: Sebastian Herbszt Signed-off-by: Nicholas Bellinger [bwh: Backported to 3.2: adjust context] Signed-off-by: Ben Hutchings --- diff --git a/drivers/target/target_core_device.c b/drivers/target/target_core_device.c index 5def3593e872..69939613e8d6 100644 --- a/drivers/target/target_core_device.c +++ b/drivers/target/target_core_device.c @@ -646,6 +646,7 @@ void core_dev_unexport( spin_unlock(&dev->se_port_lock); se_dev_stop(dev); + lun->lun_sep = NULL; lun->lun_se_dev = NULL; }