Re: [PATCH] anon_inodes: mark the anon inode private

From: James Morris
Date: Tue Mar 09 2010 - 23:54:30 EST


On Tue, 9 Mar 2010, Eric Paris wrote:

> Inotify was switched to use anon_inode instead of its own private filesystem
> which only had one inode in commit c44dcc56d2b5c7 "switch inotify_user to
> anon_inode"
>
> The problem with this is that now the inotify inode is not a distinct inode
> which can be managed by LSMs. userspace tools which use inotify were allowed
> to use the inotify inode but may not have had permission to do read/write type
> operations on the anon_inode. After looking at the anon_inode and its users
> it looks like the best solution is to just mark the anon_inode as S_PRIVATE
> so the security system will ignore it.
>
> Signed-off-by: Eric Paris <eparis@xxxxxxxxxx>

Acked-by: James Morris <jmorris@xxxxxxxxx>

> ---
> fs/anon_inodes.c | 1 +
> 1 files changed, 1 insertions(+), 0 deletions(-)
>
> diff --git a/fs/anon_inodes.c b/fs/anon_inodes.c
> index 9f0bf13..2de0095 100644
> --- a/fs/anon_inodes.c
> +++ b/fs/anon_inodes.c
> @@ -209,6 +209,7 @@ static struct inode *anon_inode_mkinode(void)
> inode->i_mode = S_IRUSR | S_IWUSR;
> inode->i_uid = current_fsuid();
> inode->i_gid = current_fsgid();
> + inode->i_flags |= S_PRIVATE;
> inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME;
> return inode;
> }
> --
> 1.6.5.3
>

--
James Morris
<jmorris@xxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/