[PATCH] kernel/fork.c : remove local 'oldmm' and retval

From: Daeseok Youn
Date: Tue Nov 26 2013 - 19:54:41 EST


Local oldmm is used only for increaing mm_users field
in current->mm. When clone_flags have a CLONE_VM flag,
current->mm is assigning to local 'mm'.
Local retval is used only for returning -ENOMEM value.
When dup_mm() is failed, just return -ENOMEM.

Signed-off-by: Daeseok Youn <daeseok.youn@xxxxxxxxx>
---
kernel/fork.c | 16 +++++-----------
1 file changed, 5 insertions(+), 11 deletions(-)

diff --git a/kernel/fork.c b/kernel/fork.c
index 728d5be..022a0af 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -857,8 +857,7 @@ fail_nocontext:

static int copy_mm(unsigned long clone_flags, struct task_struct *tsk)
{
- struct mm_struct *mm, *oldmm;
- int retval;
+ struct mm_struct *mm;

tsk->min_flt = tsk->maj_flt = 0;
tsk->nvcsw = tsk->nivcsw = 0;
@@ -874,28 +873,23 @@ static int copy_mm(unsigned long clone_flags, struct task_struct *tsk)
*
* We need to steal a active VM for that..
*/
- oldmm = current->mm;
- if (!oldmm)
+ if (!current->mm)
return 0;

if (clone_flags & CLONE_VM) {
- atomic_inc(&oldmm->mm_users);
- mm = oldmm;
+ mm = current->mm;
+ atomic_inc(&mm->mm_users);
goto good_mm;
}

- retval = -ENOMEM;
mm = dup_mm(tsk);
if (!mm)
- goto fail_nomem;
+ return -ENOMEM;

good_mm:
tsk->mm = mm;
tsk->active_mm = mm;
return 0;
-
-fail_nomem:
- return retval;
}

static int copy_fs(unsigned long clone_flags, struct task_struct *tsk)
--
1.7.9.5

---
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/