aboutsummaryrefslogtreecommitdiffstats
path: root/fs/proc/base.c
diff options
context:
space:
mode:
authorVegard Nossum <vegard.nossum@oracle.com>2017-02-27 17:30:07 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2017-02-27 21:43:48 -0500
commitf1f1007644ffc8051a4c11427d58b1967ae7b75a (patch)
treee7e590cb1baa494b963d81b967a3f98d3c56f33e /fs/proc/base.c
parent522b837c672eba9e9fb69f9f52bced0256dc6697 (diff)
mm: add new mmgrab() helper
Apart from adding the helper function itself, the rest of the kernel is converted mechanically using: git grep -l 'atomic_inc.*mm_count' | xargs sed -i 's/atomic_inc(&\(.*\)->mm_count);/mmgrab\(\1\);/' git grep -l 'atomic_inc.*mm_count' | xargs sed -i 's/atomic_inc(&\(.*\)\.mm_count);/mmgrab\(\&\1\);/' This is needed for a later patch that hooks into the helper, but might be a worthwhile cleanup on its own. (Michal Hocko provided most of the kerneldoc comment.) Link: http://lkml.kernel.org/r/20161218123229.22952-1-vegard.nossum@oracle.com Signed-off-by: Vegard Nossum <vegard.nossum@oracle.com> Acked-by: Michal Hocko <mhocko@suse.com> Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org> Acked-by: David Rientjes <rientjes@google.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/proc/base.c')
-rw-r--r--fs/proc/base.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/proc/base.c b/fs/proc/base.c
index b8f06273353e..5d51a188871b 100644
--- a/fs/proc/base.c
+++ b/fs/proc/base.c
@@ -766,7 +766,7 @@ struct mm_struct *proc_mem_open(struct inode *inode, unsigned int mode)
766 766
767 if (!IS_ERR_OR_NULL(mm)) { 767 if (!IS_ERR_OR_NULL(mm)) {
768 /* ensure this mm_struct can't be freed */ 768 /* ensure this mm_struct can't be freed */
769 atomic_inc(&mm->mm_count); 769 mmgrab(mm);
770 /* but do not pin its memory */ 770 /* but do not pin its memory */
771 mmput(mm); 771 mmput(mm);
772 } 772 }
@@ -1064,7 +1064,7 @@ static int __set_oom_adj(struct file *file, int oom_adj, bool legacy)
1064 if (p) { 1064 if (p) {
1065 if (atomic_read(&p->mm->mm_users) > 1) { 1065 if (atomic_read(&p->mm->mm_users) > 1) {
1066 mm = p->mm; 1066 mm = p->mm;
1067 atomic_inc(&mm->mm_count); 1067 mmgrab(mm);
1068 } 1068 }
1069 task_unlock(p); 1069 task_unlock(p);
1070 } 1070 }