diff options
| author | Patrick Mochel <mochel@osdl.org> | 2003-09-21 23:43:42 -0700 |
|---|---|---|
| committer | Patrick Mochel <mochel@osdl.org> | 2003-09-21 23:43:42 -0700 |
| commit | 69a18481b28cf39c73e52cf3e946a9650cc40fad (patch) | |
| tree | 80c573c203a66669aec0f3101d896afad94330d0 /kernel | |
| parent | 6bbbe137efd194960978da1ac8cb9fc1225aed2f (diff) | |
| parent | 8912ad073fd7d7110a57acbfa0b33d4dad9d1ee1 (diff) | |
Merge osdl.org:/home/mochel/src/kernel/linux-2.5-virgin
into osdl.org:/home/mochel/src/kernel/linux-2.5-power
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/fork.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/kernel/fork.c b/kernel/fork.c index f2d3115483da..2005c5c180de 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -775,6 +775,14 @@ struct task_struct *copy_process(unsigned long clone_flags, return ERR_PTR(-EINVAL); /* + * Shared signal handlers imply shared VM. By way of the above, + * thread groups also imply shared VM. Blocking this case allows + * for various simplifications in other code. + */ + if ((clone_flags & CLONE_SIGHAND) && !(clone_flags & CLONE_VM)) + return ERR_PTR(-EINVAL); + + /* * CLONE_DETACHED must match CLONE_THREAD: it's a historical * thing. */ |
