summaryrefslogtreecommitdiff
path: root/fs/proc
diff options
context:
space:
mode:
Diffstat (limited to 'fs/proc')
-rw-r--r--fs/proc/task_mmu.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c
index bde4d236a4d7..a83798cc448b 100644
--- a/fs/proc/task_mmu.c
+++ b/fs/proc/task_mmu.c
@@ -1390,6 +1390,16 @@ static int pagemap_open(struct inode *inode, struct file *file)
{
struct mm_struct *mm;
+#if defined(CONFIG_ARCH_ROCKCHIP) && defined(CONFIG_ANDROID)
+ /*
+ * For pass CTS
+ * FileSystemPermissionTest: Assert /proc/self/pagemap not readable
+ */
+ /* do not disclose physical addresses: attack vector */
+ if (!capable(CAP_SYS_ADMIN))
+ return -EPERM;
+#endif
+
mm = proc_mem_open(inode, PTRACE_MODE_READ);
if (IS_ERR(mm))
return PTR_ERR(mm);