From 6159963695d024ae2eba96f98df68264992b6d24 Mon Sep 17 00:00:00 2001 From: Linus Torvalds Date: Fri, 8 Nov 2002 17:38:27 -0800 Subject: Bit find operations return past the end on failure. --- kernel/pid.c | 2 +- kernel/sched.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'kernel') diff --git a/kernel/pid.c b/kernel/pid.c index 0005a8cc36cb..ed6adbba677b 100644 --- a/kernel/pid.c +++ b/kernel/pid.c @@ -131,7 +131,7 @@ next_map: */ scan_more: offset = find_next_zero_bit(map->page, BITS_PER_PAGE, offset); - if (offset == BITS_PER_PAGE) + if (offset >= BITS_PER_PAGE) goto next_map; if (test_and_set_bit(offset, map->page)) goto scan_more; diff --git a/kernel/sched.c b/kernel/sched.c index aa62ce0df85f..6821d73ff10b 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -770,7 +770,7 @@ skip_bitmap: idx = sched_find_first_bit(array->bitmap); else idx = find_next_bit(array->bitmap, MAX_PRIO, idx); - if (idx == MAX_PRIO) { + if (idx >= MAX_PRIO) { if (array == busiest->expired) { array = busiest->active; goto new_array; -- cgit v1.2.3