On Mon, Mar 7, 2011 at 7:10 AM, Michael Jones <michael.jones@xxxxxxxxxxxxxxxx> wrote: > From e7dbe4c4b64eb114f9b0804d6af3a3ca0e78acc8 Mon Sep 17 00:00:00 2001 > From: Michael Jones <michael.jones@xxxxxxxxxxxxxxxx> > Date: Mon, 7 Mar 2011 13:36:15 +0100 > Subject: [PATCH] omap: iommu: disallow mapping NULL address > > commit c7f4ab26e3bcdaeb3e19ec658e3ad9092f1a6ceb allowed mapping > the NULL address if da_start==0. Force da_start to exclude the > first page. what about devices that uses page 0? ipu after reset always starts from 0x00000000 how could we map that address?? Regards, Fernando. > > Signed-off-by: Michael Jones <michael.jones@xxxxxxxxxxxxxxxx> > --- > arch/arm/plat-omap/iommu.c | 6 ++++-- > 1 files changed, 4 insertions(+), 2 deletions(-) > > diff --git a/arch/arm/plat-omap/iommu.c b/arch/arm/plat-omap/iommu.c > index 5990ea6..dcb5513 100644 > --- a/arch/arm/plat-omap/iommu.c > +++ b/arch/arm/plat-omap/iommu.c > @@ -850,7 +850,7 @@ int iommu_set_da_range(struct iommu *obj, u32 start, u32 end) > if (end < start || !PAGE_ALIGN(start | end)) > return -EINVAL; > > - obj->da_start = start; > + obj->da_start = max(start, (u32)PAGE_SIZE); > obj->da_end = end; > > return 0; > @@ -950,7 +950,9 @@ static int __devinit omap_iommu_probe(struct platform_device *pdev) > obj->name = pdata->name; > obj->dev = &pdev->dev; > obj->ctx = (void *)obj + sizeof(*obj); > - obj->da_start = pdata->da_start; > + > + /* reserve the first page for NULL */ > + obj->da_start = max(pdata->da_start, (u32)PAGE_SIZE); > obj->da_end = pdata->da_end; > > mutex_init(&obj->iommu_lock); > -- > 1.7.4.1 > > > MATRIX VISION GmbH, Talstrasse 16, DE-71570 Oppenweiler > Registergericht: Amtsgericht Stuttgart, HRB 271090 > Geschaeftsfuehrer: Gerhard Thullner, Werner Armingeon, Uwe Furtner > -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html