diff options
author | Jeff Garzik <jeff@garzik.org> | 2006-03-20 04:48:50 -0500 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2006-03-20 04:48:50 -0500 |
commit | 29b2548bf53ffb810394a2110161ef49f8e4780f (patch) | |
tree | af0233def65a854dc95e5faca9645b30e88d45aa /kernel/fork.c | |
parent | c39f5ebe0a542caab30c88e60623709c7bc6fe30 (diff) | |
parent | 7705a8792b0fc82fd7d4dd923724606bbfd9fb20 (diff) |
Merge branch 'master'
Diffstat (limited to 'kernel/fork.c')
-rw-r--r-- | kernel/fork.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/kernel/fork.c b/kernel/fork.c index ccdfbb16c86..b373322ca49 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -1478,9 +1478,7 @@ static int unshare_vm(unsigned long unshare_flags, struct mm_struct **new_mmp) if ((unshare_flags & CLONE_VM) && (mm && atomic_read(&mm->mm_users) > 1)) { - *new_mmp = dup_mm(current); - if (!*new_mmp) - return -ENOMEM; + return -EINVAL; } return 0; @@ -1569,7 +1567,7 @@ asmlinkage long sys_unshare(unsigned long unshare_flags) if (new_sigh) { sigh = current->sighand; - current->sighand = new_sigh; + rcu_assign_pointer(current->sighand, new_sigh); new_sigh = sigh; } |