summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2002-09-08 06:04:56 -0700
committerLinus Torvalds <torvalds@home.transmeta.com>2002-09-08 06:04:56 -0700
commit49ba178cfe9cac97498bf83c25d34317cf207afb (patch)
treea645170f5e54c3acd61ead0c2340c1b5f6ad4f62 /include/linux
parent86ee4c5d3de53c3b62c1e312777c16760e70a076 (diff)
[PATCH] Re: pinpointed: PANIC caused by dequeue_signal() in current Linus
This fixes the bootup crash. There were two initialization bugs: - INIT_SIGNAL needs to set shared_pending. - exec() needs to set up newsig properly. the second one caused the crash Anton saw.
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/init_task.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/include/linux/init_task.h b/include/linux/init_task.h
index 80a57914bccc..bdf03241a009 100644
--- a/include/linux/init_task.h
+++ b/include/linux/init_task.h
@@ -29,10 +29,11 @@
.mmlist = LIST_HEAD_INIT(name.mmlist), \
}
-#define INIT_SIGNALS { \
+#define INIT_SIGNALS(sig) { \
.count = ATOMIC_INIT(1), \
.action = { {{0,}}, }, \
- .siglock = SPIN_LOCK_UNLOCKED \
+ .siglock = SPIN_LOCK_UNLOCKED, \
+ .shared_pending = { NULL, &sig.shared_pending.head, {{0}}}, \
}
/*