diff options
| author | Chris Wright <chris@wirex.com> | 2002-04-28 05:17:09 -0700 |
|---|---|---|
| committer | Linus Torvalds <torvalds@home.transmeta.com> | 2002-04-28 05:17:09 -0700 |
| commit | 23bd3bb40a6747d460ceaf0ad5688edd0be92cb6 (patch) | |
| tree | b884f352b550641935552d18e59c4cb0b8eaed3f /ipc | |
| parent | 160ba3c93351c3a246dcc5c787deda5b23d93801 (diff) | |
[PATCH] 2.5.10 BKL not always released in sem_exit()
The patch below fixes sem_exit() so that the BKL is always released.
Diffstat (limited to 'ipc')
| -rw-r--r-- | ipc/sem.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/ipc/sem.c b/ipc/sem.c index 16422138f0a9..4187ab77b44e 100644 --- a/ipc/sem.c +++ b/ipc/sem.c @@ -1176,8 +1176,10 @@ void sem_exit (void) } undo_list = current->sysvsem.undo_list; - if ((undo_list == NULL) || (atomic_read(&undo_list->refcnt) != 1)) + if ((undo_list == NULL) || (atomic_read(&undo_list->refcnt) != 1)) { + unlock_kernel(); return; + } /* There's no need to hold the semundo list lock, as current * is the last task exiting for this undo list. |
