[PATCH] free_early_partial() should permit start == end

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Jan Beulich
Date: Friday, March 26, 2010 - 9:37 am

The per-CPU allocator, when using atom_size == PAGE_SIZE, may call
free_area_init_partial() this way.

Signed-off-by: Jan Beulich <jbeulich@novell.com>

---
 kernel/early_res.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

--- linux-2.6.34-rc2/kernel/early_res.c	2010-03-25 15:23:45.000000000 +0100
+++ 2.6.34-rc2-free_early_partial-zero-size/kernel/early_res.c	2010-03-26 14:49:41.000000000 +0100
@@ -335,10 +335,10 @@ void __init free_early_partial(u64 start
 
 try_next:
 	i = find_overlapped_early(start, end);
-	if (i >= max_early_res)
+	r = &early_res[i];
+	if (i >= max_early_res || !r->end)
 		return;
 
-	r = &early_res[i];
 	/* hole ? */
 	if (r->end >= end && r->start <= start) {
 		drop_range_partial(i, start, end);



--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH] free_early_partial() should permit start == end, Jan Beulich, (Fri Mar 26, 9:37 am)