lkml.org 
[lkml]   [2013]   [Nov]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH] kernel/fork.c : remove local 'oldmm' and retval
Date
From cec2f201f0dc99a33a58d9d1e0452140bb0993a1 Mon Sep 17 00:00:00 2001
From: Daeseok Youn <daeseok.youn@lge.com>
Date: Wed, 27 Nov 2013 09:54:41 +0900
Subject: [PATCH] kernel/fork.c : remove local 'oldmm' and retval

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@gmail.com>
---
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
---

\
 
 \ /
  Last update: 2013-11-27 04:41    [W:0.197 / U:0.196 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site