Pārlūkot izejas kodu

omap: iommu: fix incorrect address for supersection 1st entry

There was a potential risk that the following "memset" could override
its range if a given address was not the 1st entry of a
supersection. This is not the case for "iovmm".

Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
Signed-off-by: Hari Nagalla <hnagalla@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Hiroshi DOYU 15 gadi atpakaļ
vecāks
revīzija
8d33ea5881
1 mainītis faili ar 1 papildinājumiem un 1 dzēšanām
  1. 1 1
      arch/arm/plat-omap/iommu.c

+ 1 - 1
arch/arm/plat-omap/iommu.c

@@ -667,7 +667,7 @@ static size_t iopgtable_clear_entry_core(struct iommu *obj, u32 da)
 		if ((*iopgd & IOPGD_SUPER) == IOPGD_SUPER) {
 			nent *= 16;
 			/* rewind to the 1st entry */
-			iopgd = (u32 *)((u32)iopgd & IOSUPER_MASK);
+			iopgd = iopgd_offset(obj, (da & IOSUPER_MASK));
 		}
 		bytes *= nent;
 	}