mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] iommu: fix end address of vm area comparation in alloc_iovm_area
@ 2010-08-17  3:51 Guzman Lugo, Fernando
  2010-08-17  4:48 ` Guzman Lugo, Fernando
  0 siblings, 1 reply; 6+ messages in thread
From: Guzman Lugo, Fernando @ 2010-08-17  3:51 UTC (permalink / raw)
  To: linux-omap, linux-kernel; +Cc: Hiroshi.DOYO, Kanigeri, Hari

>From cc48c0adaee97c8385a356aefa5b64a51818b4fd Mon Sep 17 00:00:00 2001
From: Fernando Guzman Lugo <x0095840@ti.com>
Date: Mon, 16 Aug 2010 22:28:24 -0500
Subject: [PATCH] iommu: fix end address of vm area comparation in alloc_iovm_area

End address of the vm area is “start + bytes -1”,
not “start + byte”. This patch fixes that issue by doing
an inclusive comparison with tmp->da_start. This issue
was preventing allocate an area of size exactly the same
than the free area. I did no change the value of da_end
of each vm area because it is used to get area size in
several places.

Signed-off-by: Fernando Guzman Lugo <x0095840@ti.com>
---
 arch/arm/plat-omap/iovmm.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/arm/plat-omap/iovmm.c b/arch/arm/plat-omap/iovmm.c
index b8bcad5..8745d4e 100644
--- a/arch/arm/plat-omap/iovmm.c
+++ b/arch/arm/plat-omap/iovmm.c
@@ -295,7 +295,7 @@ static struct iovm_struct *alloc_iovm_area(struct iommu *obj, u32 da,
 	prev_end = 0;
 	list_for_each_entry(tmp, &obj->mmap, list) {
 
-		if ((prev_end <= start) && (start + bytes < tmp->da_start))
+		if ((prev_end <= start) && (start + bytes <= tmp->da_start))
 			goto found;
 
 		if (flags & IOVMF_DA_ANON)
-- 
1.7.0.4

^ permalink raw reply	[flat|nested] 6+ messages in thread
* [PATCH] iommu: fix end address of vm area comparation in alloc_iovm_area
@ 2010-08-17 16:56 Fernando Guzman Lugo
  2010-10-10 16:38 ` Felipe Contreras
  0 siblings, 1 reply; 6+ messages in thread
From: Fernando Guzman Lugo @ 2010-08-17 16:56 UTC (permalink / raw)
  To: linux-kernel, linux-omap; +Cc: Hiroshi.DOYU, h-kanigeri2, Fernando Guzman Lugo

End address of the vm area is .start + bytes -1., not start + byte.
This patch fixes that issue by doing an inclusive comparison with
tmp->da_start. This issue was preventing allocate an area of size
exactly the same than the free area. I did no change the value of
da_end of each vm area because it is used to get area size in
several places.

Signed-off-by: Fernando Guzman Lugo <x0095840@ti.com>
Acked-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
---
 arch/arm/plat-omap/iovmm.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/arm/plat-omap/iovmm.c b/arch/arm/plat-omap/iovmm.c
index 8ce0de2..24ca9c4 100644
--- a/arch/arm/plat-omap/iovmm.c
+++ b/arch/arm/plat-omap/iovmm.c
@@ -292,7 +292,7 @@ static struct iovm_struct *alloc_iovm_area(struct iommu *obj, u32 da,
 		if (prev_end >= start)
 			break;
 
-		if (start + bytes < tmp->da_start)
+		if (start + bytes <= tmp->da_start)
 			goto found;
 
 		if (flags & IOVMF_DA_ANON)
-- 
1.6.3.3


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2010-10-10 16:38 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-08-17  3:51 [PATCH] iommu: fix end address of vm area comparation in alloc_iovm_area Guzman Lugo, Fernando
2010-08-17  4:48 ` Guzman Lugo, Fernando
2010-08-17  5:27   ` Hiroshi DOYU
2010-08-17  6:08     ` Guzman Lugo, Fernando
2010-08-17 16:56 Fernando Guzman Lugo
2010-10-10 16:38 ` Felipe Contreras

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®