[PATCH] 2.5.10 BKL not always released in sem_exit()

From: Chris Wright (chris@wirex.com)
Date: Thu Apr 25 2002 - 22:11:52 EST


Hi Linus,

The patch below fixes sem_exit() so that the BKL is always released.

thanks,
-chris

===== ipc/sem.c 1.5 vs edited =====
--- 1.5/ipc/sem.c Tue Apr 23 17:15:25 2002
+++ edited/ipc/sem.c Thu Apr 25 20:01:02 2002
@@ -1176,8 +1176,10 @@
         }
 
         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.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Tue Apr 30 2002 - 22:00:12 EST