[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2] Add security.* XATTR support for the UBIFS



Subodh Nijsure wrote:
> diff --git a/fs/ubifs/dir.c b/fs/ubifs/dir.c
> index ec9f187..f4e06c4 100644
> --- a/fs/ubifs/dir.c
> +++ b/fs/ubifs/dir.c
> @@ -293,6 +293,7 @@ static int ubifs_create(struct inode *dir, struct dentry *dentry, umode_t mode,
>  	ubifs_release_budget(c, &req);
>  	insert_inode_hash(inode);
>  	d_instantiate(dentry, inode);
> +	ubifs_init_security(dir, inode, &dentry->d_name);
>  	return 0;
>  
>  out_cancel:
> @@ -754,6 +755,7 @@ static int ubifs_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode)
>  
>  	ubifs_release_budget(c, &req);
>  	d_instantiate(dentry, inode);
> +	ubifs_init_security(dir, inode, &dentry->d_name);
>  	return 0;
>  
>  out_cancel:
> @@ -831,6 +833,7 @@ static int ubifs_mknod(struct inode *dir, struct dentry *dentry,
>  	ubifs_release_budget(c, &req);
>  	insert_inode_hash(inode);
>  	d_instantiate(dentry, inode);
> +	ubifs_init_security(dir, inode, &dentry->d_name);
>  	return 0;
>  
>  out_cancel:
> @@ -907,6 +910,7 @@ static int ubifs_symlink(struct inode *dir, struct dentry *dentry,
>  	ubifs_release_budget(c, &req);
>  	insert_inode_hash(inode);
>  	d_instantiate(dentry, inode);
> +	ubifs_init_security(dir, inode, &dentry->d_name);
>  	return 0;
>  
>  out_cancel:

ubifs_init_security() can fail. Are you sure about error handling?

> +int
> +ubifs_init_security(struct inode *dentry, struct inode *inode,
> +		   const struct qstr *qstr)
> +{
> +	struct ubifs_inode *dir_ui = ubifs_inode(inode);
> +	int err = 0;
> +
> +	mutex_lock(&dir_ui->ui_mutex);
> +	mutex_lock(&inode->i_mutex);
> +
> +	err = security_inode_init_security(inode, dentry, qstr,
> +					   &ubifs_initxattrs, 0);
> +	mutex_unlock(&inode->i_mutex);
> +	mutex_unlock(&dir_ui->ui_mutex);
> +	return err;
> +}
--
To unsubscribe from this list: send the line "unsubscribe linux-security-module" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Fedora Maintainers]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]

Powered by Linux