Commit ee0ddadd authored by Heiko Carstens's avatar Heiko Carstens Committed by Martin Schwidefsky

[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: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent 12829126
...@@ -236,7 +236,7 @@ static int insert_memory_segment(struct memory_segment *seg) ...@@ -236,7 +236,7 @@ static int insert_memory_segment(struct memory_segment *seg)
{ {
struct memory_segment *tmp; 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) seg->start + seg->size < seg->start)
return -ERANGE; return -ERANGE;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment