Re: 2.6.33.[56]-rt23: howto create repeatable explosion in wakeup_next_waiter()
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
On Fri, 2010-07-09 at 00:19 -0700, Darren Hart wrote:
> I'll keep on looking, but I wanted to share what I've learned in case anyone
> in another timezone is hoping to continue debugging should I fall asleep at
> the helm ;-)
Still making smoke here, no heat or light tho..
Q: why is it ok to call rt_mutex_proxy_unlock() without the wait_lock
held? Every other path leading to rt_mutex_set_owner() seems to hold
the lock. Locking it did diddly spit other than shut up my WARN_ON().
diff --git a/kernel/futex.c b/kernel/futex.c
index a6cec32..f4b76d9 100644
--- a/kernel/futex.c
+++ b/kernel/futex.c
@@ -407,7 +407,9 @@ static void free_pi_state(struct futex_pi_state *pi_state)
list_del_init(&pi_state->list);
raw_spin_unlock_irq(&pi_state->owner->pi_lock);
+ raw_spin_lock(&pi_state->pi_mutex.wait_lock);
rt_mutex_proxy_unlock(&pi_state->pi_mutex, pi_state->owner);
+ raw_spin_unlock(&pi_state->pi_mutex.wait_lock);
}
if (current->pi_state_cache)
--
To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
[RT Stable]
[Kernel Newbies]
[Share Photos]
[IDE]
[Security]
[Git]
[Netfilter]
[Bugtraq]
[Photo]
[Yosemite]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Linux ATA RAID]
[Samba]
[Video 4 Linux]
[Device Mapper]
[Linux Resources]