Selaa lähdekoodia

x86-32, numa: Fix failure condition check in alloc_remap()

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@kernel.org>
Link: http://lkml.kernel.org/r/1301955840-7246-2-git-send-email-tj@kernel.org
Acked-by: Yinghai Lu <yinghai@kernel.org>
Cc: David Rientjes <rientjes@google.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Tejun Heo 14 vuotta sitten
vanhempi
commit
3fe14ab541
1 muutettua tiedostoa jossa 1 lisäystä ja 1 poistoa
  1. 1 1
      arch/x86/mm/numa_32.c

+ 1 - 1
arch/x86/mm/numa_32.c

@@ -200,7 +200,7 @@ void *alloc_remap(int nid, unsigned long size)
 
 
 	size = ALIGN(size, L1_CACHE_BYTES);
 	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;
 		return NULL;
 
 
 	node_remap_alloc_vaddr[nid] += size;
 	node_remap_alloc_vaddr[nid] += size;