summaryrefslogtreecommitdiffstats
path: root/freed-ora/tags/f18/3.8.6-201.fc18.gnu/scsi-sd_revalidate_disk-prevent-NULL-ptr-deref.patch
diff options
context:
space:
mode:
Diffstat (limited to 'freed-ora/tags/f18/3.8.6-201.fc18.gnu/scsi-sd_revalidate_disk-prevent-NULL-ptr-deref.patch')
-rw-r--r--freed-ora/tags/f18/3.8.6-201.fc18.gnu/scsi-sd_revalidate_disk-prevent-NULL-ptr-deref.patch22
1 files changed, 22 insertions, 0 deletions
diff --git a/freed-ora/tags/f18/3.8.6-201.fc18.gnu/scsi-sd_revalidate_disk-prevent-NULL-ptr-deref.patch b/freed-ora/tags/f18/3.8.6-201.fc18.gnu/scsi-sd_revalidate_disk-prevent-NULL-ptr-deref.patch
new file mode 100644
index 000000000..48db13328
--- /dev/null
+++ b/freed-ora/tags/f18/3.8.6-201.fc18.gnu/scsi-sd_revalidate_disk-prevent-NULL-ptr-deref.patch
@@ -0,0 +1,22 @@
+--- a/drivers/scsi/sd.c
++++ a/drivers/scsi/sd.c
+@@ -2362,13 +2362,18 @@ static int sd_try_extended_inquiry(struct scsi_device *sdp)
+ static int sd_revalidate_disk(struct gendisk *disk)
+ {
+ struct scsi_disk *sdkp = scsi_disk(disk);
+- struct scsi_device *sdp = sdkp->device;
++ struct scsi_device *sdp;
+ unsigned char *buffer;
+ unsigned flush = 0;
+
+ SCSI_LOG_HLQUEUE(3, sd_printk(KERN_INFO, sdkp,
+ "sd_revalidate_disk\n"));
+
++ if (WARN_ONCE((!sdkp), "Invalid scsi_disk from %p\n", disk))
++ goto out;
++
++ sdp = sdkp->device;
++
+ /*
+ * If the device is offline, don't try and read capacity or any
+ * of the other niceties.
OpenPOWER on IntegriCloud