From 7ee56194d3aac19424e616287d8a221266e15c42 Mon Sep 17 00:00:00 2001
From: Stefan Lankes <slankes@eonerc.rwth-aachen.de>
Date: Sat, 3 Jun 2017 10:19:10 +0200
Subject: [PATCH] fix counter usage, add debug message

---
 arch/x86/mm/vma.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/arch/x86/mm/vma.c b/arch/x86/mm/vma.c
index 3eb9d78e1..9a270eabf 100644
--- a/arch/x86/mm/vma.c
+++ b/arch/x86/mm/vma.c
@@ -26,6 +26,7 @@
  */
 
 #include <hermit/vma.h>
+#include <hermit/logging.h>
 #include <asm/multiboot.h>
 
 int vma_arch_init(void)
@@ -38,15 +39,18 @@ int vma_arch_init(void)
 			goto out;
 
 		if ((mb_info->flags & MULTIBOOT_INFO_CMDLINE) && cmdline) {
+			LOG_INFO("vma_arch_init: map cmdline %p (size 0x%zd)", cmdline, cmdsize);
+
 			size_t i = 0;
-			while(((size_t) cmdline + i) <= ((size_t) cmdline + cmdsize))
+			while(((size_t) cmdline + i) < ((size_t) cmdline + cmdsize))
 			{
 				if ((((size_t)cmdline + i) & PAGE_MASK) != ((size_t) mb_info & PAGE_MASK)) {
 					ret = vma_add(((size_t)cmdline + i) & PAGE_MASK, (((size_t)cmdline + i) & PAGE_MASK) + PAGE_SIZE, VMA_READ|VMA_WRITE);
 					if (BUILTIN_EXPECT(ret, 0))
 						goto out;
-					i += PAGE_SIZE;
 				}
+
+				i += PAGE_SIZE;
 			}
 		}
 	}