node_remap_{start|end}_vaddr[] describe [start, end) ranges; however,
alloc_remap() incorrectly failed when the current allocation + size
equaled the end but it should fail only when it goes over. Fix it.
Signed-off-by: Tejun Heo<tj@xxxxxxxxxx>
Cc: Yinghai Lu<yinghai@xxxxxxxxxx>
Cc: David Rientjes<rientjes@xxxxxxxxxx>
Cc: Thomas Gleixner<tglx@xxxxxxxxxxxxx
Cc: Ingo Molnar<mingo@xxxxxxxxxx>
Cc: "H. Peter Anvin"<hpa@xxxxxxxxx>
---
arch/x86/mm/numa_32.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/x86/mm/numa_32.c b/arch/x86/mm/numa_32.c
index bde3906..84aac47 100644
--- a/arch/x86/mm/numa_32.c
+++ b/arch/x86/mm/numa_32.c
@@ -200,7 +200,7 @@ void *alloc_remap(int nid, unsigned long size)
size = ALIGN(size, L1_CACHE_BYTES);
- if (!allocation || (allocation + size)>= node_remap_end_vaddr[nid])
+ if (!allocation || (allocation + size)> node_remap_end_vaddr[nid])
return NULL;
node_remap_alloc_vaddr[nid] += size;