Merge tag 'v4.9.188' of git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux...
authorMauro (mdrjr) Ribeiro <mauro.ribeiro@hardkernel.com>
Tue, 7 Apr 2020 23:10:31 +0000 (20:10 -0300)
committerMauro (mdrjr) Ribeiro <mauro.ribeiro@hardkernel.com>
Tue, 7 Apr 2020 23:10:31 +0000 (20:10 -0300)
This is the 4.9.188 stable release

14 files changed:
1  2 
Makefile
drivers/android/binder.c
drivers/gpio/gpiolib.c
drivers/perf/arm_pmu.c
fs/proc/task_mmu.c
fs/userfaultfd.c
include/linux/compiler.h
include/linux/mm.h
include/linux/module.h
ipc/mqueue.c
kernel/module.c
kernel/trace/ftrace.c
mm/cma.c
mm/mmap.c

diff --cc Makefile
Simple merge
@@@ -1174,18 -569,29 +1174,26 @@@ static void binder_do_set_priority(stru
                     "%d: %s pages %pK-%pK\n", proc->pid,
                     allocate ? "allocate" : "free", start, end);
  
 -      if (end <= start)
 -              return 0;
 +      has_cap_nice = has_capability_noaudit(task, CAP_SYS_NICE);
  
 -      trace_binder_update_page_range(proc, allocate, start, end);
 +      priority = to_userspace_prio(policy, desired.prio);
  
 -      if (vma)
 -              mm = NULL;
 -      else
 -              mm = get_task_mm(proc->tsk);
 +      if (verify && is_rt_policy(policy) && !has_cap_nice) {
 +              long max_rtprio = task_rlimit(task, RLIMIT_RTPRIO);
  
-               if (max_rtprio == 0) {
-                       policy = SCHED_NORMAL;
-                       priority = MIN_NICE;
-               } else if (priority > max_rtprio) {
-                       priority = max_rtprio;
+       if (mm) {
+               down_write(&mm->mmap_sem);
+               if (!mmget_still_valid(mm)) {
+                       if (allocate == 0)
+                               goto free_range;
+                       goto err_no_vma;
+               }
+               vma = proc->vma;
+               if (vma && mm != proc->vma_vm_mm) {
+                       pr_err("%d: vma mm and task mm mismatch\n",
+                               proc->pid);
+                       vma = NULL;
                }
        }
  
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc ipc/mqueue.c
Simple merge
diff --cc kernel/module.c
Simple merge
Simple merge
diff --cc mm/cma.c
Simple merge
diff --cc mm/mmap.c
Simple merge