diff options
| author | Linus Torvalds <torvalds@athlon.transmeta.com> | 2002-02-04 18:13:54 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@athlon.transmeta.com> | 2002-02-04 18:13:54 -0800 |
| commit | 4095b99c09e3db837b17f031da096a0213cdd527 (patch) | |
| tree | 5827f5d8eae0a6bb9902de55ed712f5db0b27fb7 /kernel/fork.c | |
| parent | ed6eefe4382ab3a72d70922d401b7c8003513f13 (diff) | |
v2.4.3.7 -> v2.4.3.8
- Al Viro: fix d_flags race between low-level fs and VFS layer.
- David Miller: sparc updates
- S390 update
Diffstat (limited to 'kernel/fork.c')
| -rw-r--r-- | kernel/fork.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/kernel/fork.c b/kernel/fork.c index 4b7ab6283fdb..74b3ee7ca8cd 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -652,7 +652,7 @@ int do_fork(unsigned long clone_flags, unsigned long stack_start, goto bad_fork_cleanup_sighand; retval = copy_thread(0, clone_flags, stack_start, stack_size, p, regs); if (retval) - goto bad_fork_cleanup_sighand; + goto bad_fork_cleanup_mm; p->semundo = NULL; /* Our parent execution domain becomes current domain @@ -708,6 +708,8 @@ fork_out: down(&sem); return retval; +bad_fork_cleanup_mm: + exit_mm(p); bad_fork_cleanup_sighand: exit_sighand(p); bad_fork_cleanup_fs: |
