summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2008-06-10 10:03:20 +0200
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2008-06-10 10:03:27 +0200
commitee0ddadd086e25503f81be551c43f66472300acd (patch)
tree0f1606c133835abd3952af30efcee03230182139
parent12829126aa47758608578cc5be3a5adffc3d4b09 (diff)
downloadlinux-ee0ddadd086e25503f81be551c43f66472300acd.tar.gz
linux-ee0ddadd086e25503f81be551c43f66472300acd.tar.bz2
linux-ee0ddadd086e25503f81be551c43f66472300acd.zip
[S390] vmemmap: fix off-by-one bug.
If a memory range is supposed to be added to the 1:1 mapping and it ends just below the maximum supported physical address it won't succeed. This is because a test doesn't consider that the end address is 1 smaller than start + size. Fix the comparison. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
-rw-r--r--arch/s390/mm/vmem.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/s390/mm/vmem.c b/arch/s390/mm/vmem.c
index f591188fa2c0..e4868bfc672f 100644
--- a/arch/s390/mm/vmem.c
+++ b/arch/s390/mm/vmem.c
@@ -236,7 +236,7 @@ static int insert_memory_segment(struct memory_segment *seg)
{
struct memory_segment *tmp;
- if (seg->start + seg->size >= VMEM_MAX_PHYS ||
+ if (seg->start + seg->size > VMEM_MAX_PHYS ||
seg->start + seg->size < seg->start)
return -ERANGE;