aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@google.com>2020-06-24 18:17:12 +0200
committerJoonas Kylmälä <joonas.kylmala@iki.fi>2020-07-23 09:42:04 -0400
commit1ede35ec7affe6df78a16c36044a7b0538f5b163 (patch)
tree4eba5839dd65ca97a323bd86af2643b63a8c8095
parent2709f5f654bc8b7a6ac1eaae918598f1c5db9079 (diff)
downloadkernel_replicant_linux-1ede35ec7affe6df78a16c36044a7b0538f5b163.tar.gz
kernel_replicant_linux-1ede35ec7affe6df78a16c36044a7b0538f5b163.tar.bz2
kernel_replicant_linux-1ede35ec7affe6df78a16c36044a7b0538f5b163.zip
ANDROID: fix up direct access to mmap_sem
It's now being abstracted away, so fix up the ANDROID specific code that touches the lock to use the correct functions instead. Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Change-Id: I9cedb62118cd1bba7af27deb11499d312d24d7fc
-rw-r--r--drivers/misc/uid_sys_stats.c4
-rw-r--r--kernel/sys.c6
2 files changed, 5 insertions, 5 deletions
diff --git a/drivers/misc/uid_sys_stats.c b/drivers/misc/uid_sys_stats.c
index ea23f5d0af43..a465524ed129 100644
--- a/drivers/misc/uid_sys_stats.c
+++ b/drivers/misc/uid_sys_stats.c
@@ -136,7 +136,7 @@ static void get_full_task_comm(struct task_entry *task_entry,
/* next the executable file name */
if (mm) {
- down_read(&mm->mmap_sem);
+ mmap_write_lock(mm);
if (mm->exe_file) {
char *pathname = d_path(&mm->exe_file->f_path, buf,
unused_len);
@@ -149,7 +149,7 @@ static void get_full_task_comm(struct task_entry *task_entry,
unused_len--;
}
}
- up_read(&mm->mmap_sem);
+ mmap_write_unlock(mm);
}
unused_len -= len;
diff --git a/kernel/sys.c b/kernel/sys.c
index 70e6f1ad9a4f..93042b22ae49 100644
--- a/kernel/sys.c
+++ b/kernel/sys.c
@@ -2374,7 +2374,7 @@ static int prctl_set_vma_anon_name(unsigned long start, unsigned long end,
return error;
if (prev)
vma = prev->vm_next;
- else /* madvise_remove dropped mmap_sem */
+ else /* madvise_remove dropped mmap_lock */
vma = find_vma(current->mm, start);
}
}
@@ -2402,7 +2402,7 @@ static int prctl_set_vma(unsigned long opt, unsigned long start,
if (end == start)
return 0;
- down_write(&mm->mmap_sem);
+ mmap_write_lock(mm);
switch (opt) {
case PR_SET_VMA_ANON_NAME:
@@ -2412,7 +2412,7 @@ static int prctl_set_vma(unsigned long opt, unsigned long start,
error = -EINVAL;
}
- up_write(&mm->mmap_sem);
+ mmap_write_unlock(mm);
return error;
}