lkml.org 
[lkml]   [2008]   [Oct]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[PATCH] saa7134: fix resource map sanity check conflict

* Alexey Fisher <bug-track@fisher-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@intel.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@fisher-privat.net>
Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Tested-by: Alexey Fisher <bug-track@fisher-privat.net>
Signed-off-by: Ingo Molnar <mingo@elte.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;


\
 
 \ /
  Last update: 2008-10-22 11:35    [W:0.039 / U:0.924 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site