Re: [PATCH 1/1] file capabilities: clear fcaps on inode change (v2)

From: James Morris
Date: Tue Aug 07 2007 - 09:48:16 EST


On Mon, 6 Aug 2007, Serge E. Hallyn wrote:

> + err = security_inode_killpriv(out->f_path.dentry, LSM_NEED_LOCK);
> + if (err)
> + return err;
> +
> err = should_remove_suid(out->f_path.dentry);
> if (unlikely(err)) {
> mutex_lock(&inode->i_mutex);

It seems hackish to pass a needlock arg to an API, and that that we'll end
up with some conceptually similar call-outs for both caps and setuid.

How about encapsulating this stuff so that there's something like:


err = should_remove_privs();
if (err)
remove_privs();

with

void remove_privs()
{
mutex_lock();
__remove_privs();
mutex_unlock();
}

and then __remove_privs() handles the logic for all file privileges,
including at this stage suid and the LSM call for file caps ?



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