Blame SOURCES/kexec-tools-2.0.8-bugfix-calc-correct-end-address-of-memory-ranges-in-.patch

de80c6
From a83a58ffe57c7d716a36ee1e3a7856f3c2da2c6f Mon Sep 17 00:00:00 2001
de80c6
Message-Id: <a83a58ffe57c7d716a36ee1e3a7856f3c2da2c6f.1429703426.git.panand@redhat.com>
de80c6
In-Reply-To: <de1db775d6e9b51f014442677863b57b8566c510.1429703426.git.panand@redhat.com>
de80c6
References: <de1db775d6e9b51f014442677863b57b8566c510.1429703426.git.panand@redhat.com>
de80c6
From: AKASHI Takahiro <takahiro.akashi@linaro.org>
de80c6
Date: Fri, 22 Aug 2014 13:48:52 +0900
de80c6
Subject: [PATCH 06/15] (bugfix) calc correct end address of memory ranges in
de80c6
 device tree
de80c6
de80c6
The end address of "reg" attribute in device tree's memory should be
de80c6
inclusive.
de80c6
---
de80c6
 kexec/fs2dt.c | 5 +++--
de80c6
 1 file changed, 3 insertions(+), 2 deletions(-)
de80c6
de80c6
diff --git a/kexec/fs2dt.c b/kexec/fs2dt.c
de80c6
index 1e5f074da8b2..3ba217873f4f 100644
de80c6
--- a/kexec/fs2dt.c
de80c6
+++ b/kexec/fs2dt.c
de80c6
@@ -234,7 +234,8 @@ static void add_dyn_reconf_usable_mem_property__(int fd)
de80c6
 						    ranges_size*8);
de80c6
 				}
de80c6
 				ranges[rlen++] = cpu_to_be64(loc_base);
de80c6
-				ranges[rlen++] = cpu_to_be64(loc_end - loc_base);
de80c6
+				ranges[rlen++] = cpu_to_be64(loc_end
de80c6
+								- loc_base + 1);
de80c6
 				rngs_cnt++;
de80c6
 			}
de80c6
 		}
de80c6
@@ -348,7 +349,7 @@ static void add_usable_mem_property(int fd, size_t len)
de80c6
 					    ranges_size*sizeof(*ranges));
de80c6
 			}
de80c6
 			ranges[rlen++] = cpu_to_be64(loc_base);
de80c6
-			ranges[rlen++] = cpu_to_be64(loc_end - loc_base);
de80c6
+			ranges[rlen++] = cpu_to_be64(loc_end - loc_base + 1);
de80c6
 		}
de80c6
 	}
de80c6
 
de80c6
-- 
de80c6
2.1.0
de80c6