diff options
Diffstat (limited to 'fs/proc')
-rw-r--r-- | fs/proc/task_mmu.c | 10 |
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); |