pstore: Make default pstorefs root dir perms 0750
authorKees Cook <keescook@chromium.org>
Thu, 10 Aug 2017 03:43:17 +0000 (20:43 -0700)
committerKees Cook <keescook@chromium.org>
Thu, 17 Aug 2017 23:28:37 +0000 (16:28 -0700)
Currently only DMESG and CONSOLE record types are protected, and it isn't
obvious that they are using a capability check. Instead switch to explicit
root directory mode of 0750 to keep files private by default. This will
allow the removal of the capability check, which was non-obvious and
forces a process to have possibly too much privilege when simple post-boot
chgrp for readers would be possible without it.

Signed-off-by: Kees Cook <keescook@chromium.org>
Reviewed-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
fs/pstore/inode.c

index fefd226..f1e88b6 100644 (file)
@@ -471,7 +471,7 @@ static int pstore_fill_super(struct super_block *sb, void *data, int silent)
 
        inode = pstore_get_inode(sb);
        if (inode) {
-               inode->i_mode = S_IFDIR | 0755;
+               inode->i_mode = S_IFDIR | 0750;
                inode->i_op = &pstore_dir_inode_operations;
                inode->i_fop = &simple_dir_operations;
                inc_nlink(inode);