
From: Manfred Spraul <manfred@colorfullife.com>

Update and clarify the incorrect commentary around task_lock()


 25-akpm/include/linux/sched.h |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletion(-)

diff -puN include/linux/sched.h~tasklist_lock-docco-fix include/linux/sched.h
--- 25/include/linux/sched.h~tasklist_lock-docco-fix	Fri Apr  4 15:42:18 2003
+++ 25-akpm/include/linux/sched.h	Fri Apr  4 15:42:18 2003
@@ -691,7 +691,11 @@ static inline int thread_group_empty(tas
 
 extern void unhash_process(struct task_struct *p);
 
-/* Protects ->fs, ->files, ->mm, and synchronises with wait4().  Nests inside tasklist_lock */
+/* Protects ->fs, ->files, ->mm, and synchronises with wait4().
+ * Nests both inside and outside of read_lock(&tasklist_lock).
+ * It must not be nested with write_lock_irq(&tasklist_lock),
+ * neither inside nor outside.
+ */
 static inline void task_lock(struct task_struct *p)
 {
 	spin_lock(&p->alloc_lock);

_
