[kernel/f15] Fix NULL pointer dereference in sym53c8xx module (rhbz 781625)

Josh Boyer jwboyer at fedoraproject.org
Mon Jan 23 14:56:04 UTC 2012


commit c0e19331fbfeac8e333b1ed570514ebb687c265c
Author: Josh Boyer <jwboyer at redhat.com>
Date:   Mon Jan 23 09:41:28 2012 -0500

    Fix NULL pointer dereference in sym53c8xx module (rhbz 781625)

 ...8xx-Fix-NULL-pointer-dereference-in-slave.patch |   35 ++++++++++++++++++++
 kernel.spec                                        |    9 +++++
 2 files changed, 44 insertions(+), 0 deletions(-)
---
diff --git a/SCSI-sym53c8xx-Fix-NULL-pointer-dereference-in-slave.patch b/SCSI-sym53c8xx-Fix-NULL-pointer-dereference-in-slave.patch
new file mode 100644
index 0000000..3690127
--- /dev/null
+++ b/SCSI-sym53c8xx-Fix-NULL-pointer-dereference-in-slave.patch
@@ -0,0 +1,35 @@
+From cced5041ed5a2d1352186510944b0ddfbdbe4c0b Mon Sep 17 00:00:00 2001
+From: Stratos Psomadakis <psomas at gentoo.org>
+Date: Sun, 4 Dec 2011 02:23:54 +0200
+Subject: [PATCH] [SCSI] sym53c8xx: Fix NULL pointer dereference in
+ slave_destroy
+
+sym53c8xx_slave_destroy unconditionally assumes that sym53c8xx_slave_alloc has
+succesesfully allocated a sym_lcb. This can lead to a NULL pointer dereference
+(exposed by commit 4e6c82b).
+
+Signed-off-by: Stratos Psomadakis <psomas at gentoo.org>
+Cc: stable at vger.kernel.org
+Signed-off-by: James Bottomley <JBottomley at Parallels.com>
+---
+ drivers/scsi/sym53c8xx_2/sym_glue.c |    4 ++++
+ 1 files changed, 4 insertions(+), 0 deletions(-)
+
+diff --git a/drivers/scsi/sym53c8xx_2/sym_glue.c b/drivers/scsi/sym53c8xx_2/sym_glue.c
+index b4543f5..36d1ed7 100644
+--- a/drivers/scsi/sym53c8xx_2/sym_glue.c
++++ b/drivers/scsi/sym53c8xx_2/sym_glue.c
+@@ -839,6 +839,10 @@ static void sym53c8xx_slave_destroy(struct scsi_device *sdev)
+ 	struct sym_lcb *lp = sym_lp(tp, sdev->lun);
+ 	unsigned long flags;
+ 
++	/* if slave_alloc returned before allocating a sym_lcb, return */
++	if (!lp)
++		return;
++
+ 	spin_lock_irqsave(np->s.host->host_lock, flags);
+ 
+ 	if (lp->busy_itlq || lp->busy_itl) {
+-- 
+1.7.7.5
+
diff --git a/kernel.spec b/kernel.spec
index bb7caac..07761f6 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -749,6 +749,9 @@ Patch21225: pci-Rework-ASPM-disable-code.patch
 
 Patch21227: mac80211-fix-work-removal-on-deauth-request.patch
 
+#rhbz 781625
+Patch21228: SCSI-sym53c8xx-Fix-NULL-pointer-dereference-in-slave.patch
+
 #rhbz #757839
 Patch21230: net-sky2-88e8059-fix-link-speed.patch
 
@@ -1395,6 +1398,9 @@ ApplyPatch proc-clean-up-and-fix-proc-pid-mem-handling.patch
 #rhbz 782687
 ApplyPatch loop-prevent-information-leak-after-failed-read.patch
 
+#rhbz 781625
+ApplyPatch SCSI-sym53c8xx-Fix-NULL-pointer-dereference-in-slave.patch
+
 # END OF PATCH APPLICATIONS
 
 %endif
@@ -2042,6 +2048,9 @@ fi
 # and build.
 
 %changelog
+* Mon Jan 23 2012 Josh Boyer <jwboyer at redhat.com>
+- Fix NULL pointer dereference in sym53c8xx module (rhbz 781625)
+
 * Fri Jan 20 2012 Josh Boyer <jwboyer at redhat.com>
 - Add mac80211 deauth fix pointed out by Stanislaw Gruszka
 


More information about the scm-commits mailing list