Re: Adding a security parameter to VFS functions

From: Andreas Gruenbacher
Date: Thu Aug 16 2007 - 18:37:44 EST


On Wednesday 15 August 2007 13:40, David Howells wrote:
>
> Hi Linus, Al,
>
> Would you object greatly to functions like vfs_mkdir() gaining a security
> parameter? What I'm thinking of is this:
>
> int vfs_mkdir(struct inode *dir, struct dentry *dentry, int mode,
> struct security *security)
>
> Where the security context is the state of the context at the time the call
> was issued:
>
> struct security {
> uid_t fsuid;
> git_t fsgid;
> struct group_info *group_info;
> void *security;
> struct key *session_keyring;
> struct key *process_keyring;
> struct key *thread_keyring;
>
> And perhaps:
>
> struct audit_context *audit_context;
> seccomp_t seccomp;
> };
>
> This would, for the most part, be a temporary affair, being set up by such
> as sys_mkdir()/sys_mkdirat() from data held in task_struct.

That's additional setup work unless that struct can be embedded in
task_struct. We would be complicating the common / fast / local case to
simplify the not-so-common case or cases.

-- Andreas
-
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/