Fix NULL pointer dereference in sym53c8xx module (rhbz 781625)

This commit is contained in:
Josh Boyer 2012-01-23 09:41:28 -05:00
parent f027dafaed
commit 7f50a05c33
2 changed files with 44 additions and 0 deletions

View File

@ -0,0 +1,35 @@
From cced5041ed5a2d1352186510944b0ddfbdbe4c0b Mon Sep 17 00:00:00 2001
From: Stratos Psomadakis <psomas@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@gentoo.org>
Cc: stable@vger.kernel.org
Signed-off-by: James Bottomley <JBottomley@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

View File

@ -807,6 +807,9 @@ Patch21226: pci-crs-blacklist.patch
Patch21227: mac80211-fix-work-removal-on-deauth-request.patch
#rhbz 781625
Patch21228: SCSI-sym53c8xx-Fix-NULL-pointer-dereference-in-slave.patch
Patch22000: rcu-reintroduce-missing-calls.patch
@ -1496,6 +1499,9 @@ ApplyPatch proc-clean-up-and-fix-proc-pid-mem-handling.patch
ApplyPatch mac80211-fix-work-removal-on-deauth-request.patch
#rhbz 781625
ApplyPatch SCSI-sym53c8xx-Fix-NULL-pointer-dereference-in-slave.patch
ApplyPatch rcu-reintroduce-missing-calls.patch
# END OF PATCH APPLICATIONS
@ -2274,6 +2280,9 @@ fi
# and build.
%changelog
* Mon Jan 23 2012 Josh Boyer <jwboyer@redhat.com>
- Fix NULL pointer dereference in sym53c8xx module (rhbz 781625)
* Fri Jan 20 2012 Dave Jones <davej@redhat.com>
- net: reintroduce missing rcu_assign_pointer() calls