DragonFly BSD
DragonFly commits List (threaded) for 2012-07
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: git: kernel - Fix MP race in sysv semaphore code


From: Sepherosa Ziehau <sepherosa@xxxxxxxxx>
Date: Thu, 12 Jul 2012 10:47:33 +0800

On Thu, Jul 12, 2012 at 6:36 AM, Matthew Dillon
<dillon@crater.dragonflybsd.org> wrote:
>
> commit ead166eb4dd3c39eebe6407577f577dee061c743
> Author: Matthew Dillon <dillon@apollo.backplane.com>
> Date:   Wed Jul 11 15:29:55 2012 -0700
>
>     kernel - Fix MP race in sysv semaphore code
>
>     * Fix a serious MP race in the sysv semaphore code due to a lack of
>       protection of the semu* global structures.
>
>     * The race occurs during semaphore allocation and deallocation vs ANY
>       exiting process (even if it does not use semaphores), potentially
>       leading to a live-lock in the semu_list scan code.
>
>       The live-lock will prevent the cpu it occurs on from being able to
>       switch to another kernel or user thread.  In the sample case it
>       stopped pagedaemon from running, creating a backlog in the I/O
>       subsystem which locked the computer up.
>
>     Reported-by: Peter Avalos
>
> Summary of changes:
>  sys/kern/sysv_sem.c |   86 +++++++++++++++++++++++++++++++++++----------------
>  1 files changed, 59 insertions(+), 27 deletions(-)

Grr, I think some header file changes are not committed.  P_SYSVSEM is
not defined.

Best Regards,
sephe

-- 
Tomorrow Will Never Die



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]