DragonFly commits List (threaded) for 2012-07
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]
git: DragonFly_RELEASE_3_0 kernel - Fix MP race in sysv semaphore code
commit b4ff333e9005d88cb2dde8fc6552780f730603f3
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(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/b4ff333e9005d88cb2dde8fc6552780f730603f3
--
DragonFly BSD source repository
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]