Revert "sched/core: Fix use after free issue in is_sched_lib_based_app()"

This reverts commit 0e6ca1640c.

Bug:133481659
Test: build
Change-Id: Ie6a0b5e46386c98882614be19dedc61ffd3870e5
Signed-off-by: Wei Wang <wvw@google.com>
fourteen
Wei Wang 6 years ago committed by Jenna
parent 561c96abe1
commit ea8ad39349
  1. 11
      kernel/sched/core.c

@ -4941,7 +4941,6 @@ static inline bool is_sched_lib_based_app(pid_t pid)
char path_buf[LIB_PATH_LENGTH];
bool found = false;
struct task_struct *p;
struct mm_struct *mm;
if (strnlen(sched_lib_name, LIB_PATH_LENGTH) == 0)
return false;
@ -4958,12 +4957,11 @@ static inline bool is_sched_lib_based_app(pid_t pid)
get_task_struct(p);
rcu_read_unlock();
mm = get_task_mm(p);
if (!mm)
if (!p->mm)
goto put_task_struct;
down_read(&mm->mmap_sem);
for (vma = mm->mmap; vma ; vma = vma->vm_next) {
down_read(&p->mm->mmap_sem);
for (vma = p->mm->mmap; vma ; vma = vma->vm_next) {
if (vma->vm_file && vma->vm_flags & VM_EXEC) {
name = d_path(&vma->vm_file->f_path,
path_buf, LIB_PATH_LENGTH);
@ -4979,8 +4977,7 @@ static inline bool is_sched_lib_based_app(pid_t pid)
}
release_sem:
up_read(&mm->mmap_sem);
mmput(mm);
up_read(&p->mm->mmap_sem);
put_task_struct:
put_task_struct(p);
return found;

Loading…
Cancel
Save