diff options
author | Vyacheslav Cherkashin <v.cherkashin@samsung.com> | 2014-08-12 14:01:52 +0400 |
---|---|---|
committer | Dmitry Kovalenko <d.kovalenko@samsung.com> | 2014-12-26 00:49:24 -0800 |
commit | 22c947a63a2b5264d228a41ac719e4132821fddb (patch) | |
tree | 18fda2db29450d83d6a5cb3dc2e0535dad111cc8 /us_manager/sspt/sspt_proc.c | |
parent | 942166cc80d6eb0c71af8524f2c9e8d50d6965b2 (diff) | |
download | swap-modules-22c947a63a2b5264d228a41ac719e4132821fddb.tar.gz swap-modules-22c947a63a2b5264d228a41ac719e4132821fddb.tar.bz2 swap-modules-22c947a63a2b5264d228a41ac719e4132821fddb.zip |
Change-Id: I0fdd2ada86df1cbcc7fbfd1d1fced9dde1c06a2c
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
(cherry picked from commit 124bdcdf2740a06b7df64a2917b26f88aeb07e21)
Diffstat (limited to 'us_manager/sspt/sspt_proc.c')
-rw-r--r-- | us_manager/sspt/sspt_proc.c | 50 |
1 files changed, 2 insertions, 48 deletions
diff --git a/us_manager/sspt/sspt_proc.c b/us_manager/sspt/sspt_proc.c index b76b136e..baa09684 100644 --- a/us_manager/sspt/sspt_proc.c +++ b/us_manager/sspt/sspt_proc.c @@ -34,38 +34,6 @@ #include <writer/swap_writer_module.h> -#ifdef CONFIG_ARM -#define mm_read_lock(task, mm, atomic, lock) \ - mm = task->mm; \ - lock = 0 - -#define mm_read_unlock(mm, atomic, lock) -#else /* CONFIG_ARM */ -#define mm_read_lock(task, mm, atomic, lock) \ - mm = atomic ? task->active_mm : get_task_mm(task); \ - if (mm == NULL) { \ - /* FIXME: */ \ - panic("ERRR mm_read_lock: mm == NULL\n"); \ - } \ - \ - if (atomic) { \ - lock = down_read_trylock(&mm->mmap_sem); \ - } else { \ - lock = 1; \ - down_read(&mm->mmap_sem); \ - } - -#define mm_read_unlock(mm, atomic, lock) \ - if (lock) { \ - up_read(&mm->mmap_sem); \ - } \ - \ - if (!atomic) { \ - mmput(mm); \ - } -#endif /* CONFIG_ARM */ - - static LIST_HEAD(proc_probes_list); static DEFINE_RWLOCK(sspt_proc_rwlock); @@ -311,13 +279,8 @@ struct sspt_file *sspt_proc_find_file(struct sspt_proc *proc, struct dentry *den */ void sspt_proc_install_page(struct sspt_proc *proc, unsigned long page_addr) { - int lock, atomic; - struct mm_struct *mm; + struct mm_struct *mm = proc->task->mm; struct vm_area_struct *vma; - struct task_struct *task = proc->task; - - atomic = in_atomic(); - mm_read_lock(task, mm, atomic, lock); vma = find_vma_intersection(mm, page_addr, page_addr + 1); if (vma && check_vma(vma)) { @@ -336,8 +299,6 @@ void sspt_proc_install_page(struct sspt_proc *proc, unsigned long page_addr) } } } - - mm_read_unlock(mm, atomic, lock); } /** @@ -348,16 +309,11 @@ void sspt_proc_install_page(struct sspt_proc *proc, unsigned long page_addr) */ void sspt_proc_install(struct sspt_proc *proc) { - int lock, atomic; struct vm_area_struct *vma; - struct task_struct *task = proc->task; - struct mm_struct *mm; + struct mm_struct *mm = proc->task->mm; proc->first_install = 1; - atomic = in_atomic(); - mm_read_lock(task, mm, atomic, lock); - for (vma = mm->mmap; vma; vma = vma->vm_next) { if (check_vma(vma)) { struct dentry *dentry = vma->vm_file->f_dentry; @@ -372,8 +328,6 @@ void sspt_proc_install(struct sspt_proc *proc) } } } - - mm_read_unlock(mm, atomic, lock); } /** |