diff options
| author | Linus Torvalds <torvalds@home.transmeta.com> | 2002-11-08 17:38:27 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@home.transmeta.com> | 2002-11-08 17:38:27 -0800 |
| commit | 6159963695d024ae2eba96f98df68264992b6d24 (patch) | |
| tree | 625b79501fc192dbe4898b2c910a238f2dc260f2 /kernel | |
| parent | c0454a9f1b1357961e99c9d11b60356c1a1a0fb0 (diff) | |
Bit find operations return past the end on failure.
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/pid.c | 2 | ||||
| -rw-r--r-- | kernel/sched.c | 2 |
2 files changed, 2 insertions, 2 deletions
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; |
