[PATCH] Fix lll_unlock twice in pthread_cond_broadcast

Florian Weimer fweimer@redhat.com
Wed Feb 18 14:36:00 GMT 2015


On 04/30/2014 11:39 AM, Yang Yingliang wrote:
> lll_unlock() will be called again if it goes to "wake_all"
> in pthread_cond_broadcast(). This may make another thread
> which is waiting for lock in pthread_cond_timedwait() unlock.
> So there are more than one threads get the lock, it will break
> the shared data.
> 
> It's introduced by commit 8313cb997d2d("FUTEX_*_REQUEUE_PI support for non-x86 code")

Is there a bug for this?

Lack of mutual exclusion could be a potential security issue.  Can this
happen with regular mutexes/condition variables?

-- 
Florian Weimer / Red Hat Product Security



More information about the Libc-alpha mailing list