lkml.org 
[lkml]   [2006]   [Jul]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
DateWed, 26 Jul 2006 13:26:48 +0100 (BST)
SubjectRe: [patch 0/3] [-rt] Fixes the timeout-bug in the rtmutex/PI-futex.
FromEsben Nielsen <>


On Wed, 26 Jul 2006, Ingo Molnar wrote:

>
> * Ingo Molnar <mingo@elte.hu> wrote:
>
>> and i also had to do the fixes below to get it to build.
>
> then it crashed with the assert below. I'll skip this one for now. I've
> attached the patches (cleaned up for whitespaces) plus the
> build-fixpatch.
>
> Ingo
>
> Brought up 2 CPUs
> BUG at kernel/rtmutex.c:773!
> ------------[ cut here ]------------
> kernel BUG at kernel/rtmutex.c:773!
> invalid opcode: 0000 [#1]
> PREEMPT SMP
> Modules linked in:
> CPU: 0
> EIP: 0060:[<c03e407c>] Not tainted VLI
> EFLAGS: 00010246 (2.6.17-rt7 #14)
> EIP is at rt_lock_slowlock+0x21e/0x231
> eax: 00000020 ebx: c31d7000 ecx: c0477be4 edx: c31d97f0
> esi: 00000000 edi: c31d7d34 ebp: c31d7cdc esp: c31d7c70
> ds: 007b es: 007b ss: 0068 preempt: 00000001
>
>

It is a very simple bug: The waiter was made garbage by the
debug_rt_mutex_free_waiter() before it was used in the BUG_ON() line.
My UP machine boots now with CONFIG_DEBUG_RT_MUTEXEX on in -rt8. Fix
is below. Apply on top of the patches you just send me with no further
changes. I hope I don't have white space damage in this small patch!!

Esben

kernel/rtmutex.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: linux-2.6.17-rt8/kernel/rtmutex.c
===================================================================
--- linux-2.6.17-rt8.orig/kernel/rtmutex.c
+++ linux-2.6.17-rt8/kernel/rtmutex.c
@@ -768,9 +768,9 @@ rt_lock_slowlock(struct rt_mutex *lock _
if (adjust_prio_final)
rt_mutex_adjust_prio_final(current, waiter.old_sched_lifo);

- debug_rt_mutex_free_waiter(&waiter);
BUG_ON(current->boosting_prio != MAX_PRIO);
BUG_ON(waiter.old_sched_lifo != get_sched_lifo());
+ debug_rt_mutex_free_waiter(&waiter);
}

/*
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2006-07-26 13:29    [from the cache]
©2003-2010