[PATCH 1/2] tcm: Fix NULL pointer dereference for target_fabric_port_attrs[]

From: Nicholas A. Bellinger
Date: Wed Sep 22 2010 - 07:20:06 EST


From: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>

This patch fixes a NULL pointer dereference in target_fabric_port_attrs[]
callers when handling the MappedLUN + non existent struct se_lun config_group
case in commit 036866f50e2.

Signed-off-by: Nicholas A. Bellinger <nab@xxxxxxxxxxxxxxx>
---
drivers/target/target_core_fabric_configfs.c | 24 ++++++++++++++++++++++++
1 files changed, 24 insertions(+), 0 deletions(-)

diff --git a/drivers/target/target_core_fabric_configfs.c b/drivers/target/target_core_fabric_configfs.c
index c689463..5d1a81d 100644
--- a/drivers/target/target_core_fabric_configfs.c
+++ b/drivers/target/target_core_fabric_configfs.c
@@ -517,6 +517,9 @@ static ssize_t target_fabric_port_show_attr_alua_tg_pt_gp(
struct se_lun *lun,
char *page)
{
+ if (!(lun))
+ return -ENODEV;
+
if (!(lun->lun_sep))
return -ENODEV;

@@ -528,6 +531,9 @@ static ssize_t target_fabric_port_store_attr_alua_tg_pt_gp(
const char *page,
size_t count)
{
+ if (!(lun))
+ return -ENODEV;
+
if (!(lun->lun_sep))
return -ENODEV;

@@ -543,6 +549,9 @@ static ssize_t target_fabric_port_show_attr_alua_tg_pt_offline(
struct se_lun *lun,
char *page)
{
+ if (!(lun))
+ return -ENODEV;
+
if (!(lun->lun_sep))
return -ENODEV;

@@ -554,6 +563,9 @@ static ssize_t target_fabric_port_store_attr_alua_tg_pt_offline(
const char *page,
size_t count)
{
+ if (!(lun))
+ return -ENODEV;
+
if (!(lun->lun_sep))
return -ENODEV;

@@ -569,6 +581,9 @@ static ssize_t target_fabric_port_show_attr_alua_tg_pt_status(
struct se_lun *lun,
char *page)
{
+ if (!(lun))
+ return -ENODEV;
+
if (!(lun->lun_sep))
return -ENODEV;

@@ -580,6 +595,9 @@ static ssize_t target_fabric_port_store_attr_alua_tg_pt_status(
const char *page,
size_t count)
{
+ if (!(lun))
+ return -ENODEV;
+
if (!(lun->lun_sep))
return -ENODEV;

@@ -595,6 +613,9 @@ static ssize_t target_fabric_port_show_attr_alua_tg_pt_write_md(
struct se_lun *lun,
char *page)
{
+ if (!(lun))
+ return -ENODEV;
+
if (!(lun->lun_sep))
return -ENODEV;

@@ -606,6 +627,9 @@ static ssize_t target_fabric_port_store_attr_alua_tg_pt_write_md(
const char *page,
size_t count)
{
+ if (!(lun))
+ return -ENODEV;
+
if (!(lun->lun_sep))
return -ENODEV;

--
1.5.6.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/