summaryrefslogtreecommitdiffstats
path: root/drivers/scsi
diff options
context:
space:
mode:
authorMatthew Dobson <colpatch@us.ibm.com>2005-11-22 06:32:29 +0100
committerLinus Torvalds <torvalds@g5.osdl.org>2005-11-22 18:13:44 +0100
commit79e448bf2d71d52d28c99be4faff9cc51928f90b (patch)
treeb3c8255d2384e7e8d529dc368b42563a0a1f6e0b /drivers/scsi
parent[PATCH] cpufreq: silence cpufreq for UP (diff)
downloadlinux-79e448bf2d71d52d28c99be4faff9cc51928f90b.tar.xz
linux-79e448bf2d71d52d28c99be4faff9cc51928f90b.zip
[PATCH] Fix a bug in scsi_get_command
scsi_get_command() attempts to write into a structure that may not have been successfully allocated. Move this write inside the if statement that ensures we won't panic the kernel with a NULL pointer dereference. Signed-off-by: Matthew Dobson <colpatch@us.ibm.com> Cc: James Bottomley <James.Bottomley@steeleye.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/scsi')
-rw-r--r--drivers/scsi/scsi.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/scsi/scsi.c b/drivers/scsi/scsi.c
index 0be60bba58d3..180676d7115a 100644
--- a/drivers/scsi/scsi.c
+++ b/drivers/scsi/scsi.c
@@ -265,10 +265,10 @@ struct scsi_cmnd *scsi_get_command(struct scsi_device *dev, gfp_t gfp_mask)
spin_lock_irqsave(&dev->list_lock, flags);
list_add_tail(&cmd->list, &dev->cmd_list);
spin_unlock_irqrestore(&dev->list_lock, flags);
+ cmd->jiffies_at_alloc = jiffies;
} else
put_device(&dev->sdev_gendev);
- cmd->jiffies_at_alloc = jiffies;
return cmd;
}
EXPORT_SYMBOL(scsi_get_command);