summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMikulas Patocka <mpatocka@redhat.com>2008-07-15 17:18:38 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2008-07-15 14:30:56 -0700
commita5db33411ae762e597bfcde6bb9d0c8c2ea9c0eb (patch)
treefca5929eddc432092f0c444ffc672058effb78b0
parent56d387ec210049be2fdb0fe26ba6d6de1b3c1b15 (diff)
downloadlinux-a5db33411ae762e597bfcde6bb9d0c8c2ea9c0eb.tar.gz
linux-a5db33411ae762e597bfcde6bb9d0c8c2ea9c0eb.tar.bz2
linux-a5db33411ae762e597bfcde6bb9d0c8c2ea9c0eb.zip
BUG_ON on kernel misbehavior on A100U2W driver
With broken Sparc64 IOMMU accounting, the kernel submits larger requests then allowed. Better to crash on BUG than corrupt memory. Signed-off-by: Mikulas Patocka <mpatocka@redhat.com> Acked-by: James Bottomley <James.Bottomley@HansenPartnership.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--drivers/scsi/a100u2w.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/scsi/a100u2w.c b/drivers/scsi/a100u2w.c
index 1e8bdd457834..f5051f4301d7 100644
--- a/drivers/scsi/a100u2w.c
+++ b/drivers/scsi/a100u2w.c
@@ -866,6 +866,7 @@ static void inia100_build_scb(struct orc_host * host, struct orc_scb * scb, stru
count_sg = scsi_dma_map(cmd);
BUG_ON(count_sg < 0);
+ BUG_ON(count_sg > TOTAL_SG_ENTRY);
/* Build the scatter gather lists */
if (count_sg) {