[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20081022093302.GE12453@elte.hu>
Date: Wed, 22 Oct 2008 11:33:02 +0200
From: Ingo Molnar <mingo@...e.hu>
To: Alexey Fisher <bug-track@...her-privat.net>,
Mauro Carvalho Chehab <mchehab@...radead.org>,
Ricardo Cerqueira <v4l@...queira.org>,
Maxim Levitsky <maximlevitsky@...il.com>,
Hartmut Hackmann <hartmut.hackmann@...nline.de>
Cc: Suresh Siddha <suresh.b.siddha@...el.com>,
Kernel Testers List <kernel-testers@...r.kernel.org>,
linux-kernel@...r.kernel.org
Subject: [PATCH] saa7134: fix resource map sanity check conflict
* Alexey Fisher <bug-track@...her-privat.net> wrote:
> Thanks, suresh! this patch working for me. dmesg is attached.
thanks Alexey!
I've Cc:-ed the saa7134 developers - please pick up Suresh's fix below.
A new debug check in ioremap() caught a bug in the saa7134 driver.
Ingo
---------------->
>From afed66317accd2fdfeb57061102c20796fb9ff66 Mon Sep 17 00:00:00 2001
From: Suresh Siddha <suresh.b.siddha@...el.com>
Date: Mon, 20 Oct 2008 13:57:02 -0700
Subject: [PATCH] saa7134: fix resource map sanity check conflict
Impact: driver could possibly stomp on resources outside of its scope
Alexey Fisher reported:
> resource map sanity check conflict: 0xcfeff800 0xcff007ff 0xcfe00000
> 0xcfefffff PCI Bus 0000:01
BAR base is located in the middle of the 4K page and the hardcoded
size argument makes the request span two pages causing the conflict.
Fix the hard coded size argument in ioremap().
Reported-by: Alexey Fisher <bug-track@...her-privat.net>
Signed-off-by: Suresh Siddha <suresh.b.siddha@...el.com>
Tested-by: Alexey Fisher <bug-track@...her-privat.net>
Signed-off-by: Ingo Molnar <mingo@...e.hu>
---
drivers/media/video/saa7134/saa7134-core.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/drivers/media/video/saa7134/saa7134-core.c b/drivers/media/video/saa7134/saa7134-core.c
index b686bfa..0c13821 100644
--- a/drivers/media/video/saa7134/saa7134-core.c
+++ b/drivers/media/video/saa7134/saa7134-core.c
@@ -941,7 +941,8 @@ static int __devinit saa7134_initdev(struct pci_dev *pci_dev,
dev->name,(unsigned long long)pci_resource_start(pci_dev,0));
goto fail1;
}
- dev->lmmio = ioremap(pci_resource_start(pci_dev,0), 0x1000);
+ dev->lmmio = ioremap(pci_resource_start(pci_dev, 0),
+ pci_resource_len(pci_dev, 0));
dev->bmmio = (__u8 __iomem *)dev->lmmio;
if (NULL == dev->lmmio) {
err = -EIO;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists