forked from Minki/linux
constify security_path_{mkdir,mknod,symlink}
... as well as unix_mknod() and may_o_create() Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
989f74e050
commit
d360775217
@ -2783,7 +2783,7 @@ static inline int open_to_namei_flags(int flag)
|
||||
return flag;
|
||||
}
|
||||
|
||||
static int may_o_create(struct path *dir, struct dentry *dentry, umode_t mode)
|
||||
static int may_o_create(const struct path *dir, struct dentry *dentry, umode_t mode)
|
||||
{
|
||||
int error = security_path_mknod(dir, dentry, mode, 0);
|
||||
if (error)
|
||||
|
@ -1361,13 +1361,13 @@ union security_list_options {
|
||||
|
||||
#ifdef CONFIG_SECURITY_PATH
|
||||
int (*path_unlink)(const struct path *dir, struct dentry *dentry);
|
||||
int (*path_mkdir)(struct path *dir, struct dentry *dentry,
|
||||
int (*path_mkdir)(const struct path *dir, struct dentry *dentry,
|
||||
umode_t mode);
|
||||
int (*path_rmdir)(const struct path *dir, struct dentry *dentry);
|
||||
int (*path_mknod)(struct path *dir, struct dentry *dentry,
|
||||
int (*path_mknod)(const struct path *dir, struct dentry *dentry,
|
||||
umode_t mode, unsigned int dev);
|
||||
int (*path_truncate)(const struct path *path);
|
||||
int (*path_symlink)(struct path *dir, struct dentry *dentry,
|
||||
int (*path_symlink)(const struct path *dir, struct dentry *dentry,
|
||||
const char *old_name);
|
||||
int (*path_link)(struct dentry *old_dentry, struct path *new_dir,
|
||||
struct dentry *new_dentry);
|
||||
|
@ -1443,12 +1443,12 @@ static inline void security_skb_classify_flow(struct sk_buff *skb, struct flowi
|
||||
|
||||
#ifdef CONFIG_SECURITY_PATH
|
||||
int security_path_unlink(const struct path *dir, struct dentry *dentry);
|
||||
int security_path_mkdir(struct path *dir, struct dentry *dentry, umode_t mode);
|
||||
int security_path_mkdir(const struct path *dir, struct dentry *dentry, umode_t mode);
|
||||
int security_path_rmdir(const struct path *dir, struct dentry *dentry);
|
||||
int security_path_mknod(struct path *dir, struct dentry *dentry, umode_t mode,
|
||||
int security_path_mknod(const struct path *dir, struct dentry *dentry, umode_t mode,
|
||||
unsigned int dev);
|
||||
int security_path_truncate(const struct path *path);
|
||||
int security_path_symlink(struct path *dir, struct dentry *dentry,
|
||||
int security_path_symlink(const struct path *dir, struct dentry *dentry,
|
||||
const char *old_name);
|
||||
int security_path_link(struct dentry *old_dentry, struct path *new_dir,
|
||||
struct dentry *new_dentry);
|
||||
@ -1464,7 +1464,7 @@ static inline int security_path_unlink(const struct path *dir, struct dentry *de
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline int security_path_mkdir(struct path *dir, struct dentry *dentry,
|
||||
static inline int security_path_mkdir(const struct path *dir, struct dentry *dentry,
|
||||
umode_t mode)
|
||||
{
|
||||
return 0;
|
||||
@ -1475,7 +1475,7 @@ static inline int security_path_rmdir(const struct path *dir, struct dentry *den
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline int security_path_mknod(struct path *dir, struct dentry *dentry,
|
||||
static inline int security_path_mknod(const struct path *dir, struct dentry *dentry,
|
||||
umode_t mode, unsigned int dev)
|
||||
{
|
||||
return 0;
|
||||
@ -1486,7 +1486,7 @@ static inline int security_path_truncate(const struct path *path)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline int security_path_symlink(struct path *dir, struct dentry *dentry,
|
||||
static inline int security_path_symlink(const struct path *dir, struct dentry *dentry,
|
||||
const char *old_name)
|
||||
{
|
||||
return 0;
|
||||
|
@ -953,7 +953,7 @@ fail:
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static int unix_mknod(struct dentry *dentry, struct path *path, umode_t mode,
|
||||
static int unix_mknod(struct dentry *dentry, const struct path *path, umode_t mode,
|
||||
struct path *res)
|
||||
{
|
||||
int err;
|
||||
|
@ -250,7 +250,7 @@ static int apparmor_path_unlink(const struct path *dir, struct dentry *dentry)
|
||||
return common_perm_rm(OP_UNLINK, dir, dentry, AA_MAY_DELETE);
|
||||
}
|
||||
|
||||
static int apparmor_path_mkdir(struct path *dir, struct dentry *dentry,
|
||||
static int apparmor_path_mkdir(const struct path *dir, struct dentry *dentry,
|
||||
umode_t mode)
|
||||
{
|
||||
return common_perm_create(OP_MKDIR, dir, dentry, AA_MAY_CREATE,
|
||||
@ -262,7 +262,7 @@ static int apparmor_path_rmdir(const struct path *dir, struct dentry *dentry)
|
||||
return common_perm_rm(OP_RMDIR, dir, dentry, AA_MAY_DELETE);
|
||||
}
|
||||
|
||||
static int apparmor_path_mknod(struct path *dir, struct dentry *dentry,
|
||||
static int apparmor_path_mknod(const struct path *dir, struct dentry *dentry,
|
||||
umode_t mode, unsigned int dev)
|
||||
{
|
||||
return common_perm_create(OP_MKNOD, dir, dentry, AA_MAY_CREATE, mode);
|
||||
@ -273,7 +273,7 @@ static int apparmor_path_truncate(const struct path *path)
|
||||
return common_perm_path(OP_TRUNC, path, MAY_WRITE | AA_MAY_META_WRITE);
|
||||
}
|
||||
|
||||
static int apparmor_path_symlink(struct path *dir, struct dentry *dentry,
|
||||
static int apparmor_path_symlink(const struct path *dir, struct dentry *dentry,
|
||||
const char *old_name)
|
||||
{
|
||||
return common_perm_create(OP_SYMLINK, dir, dentry, AA_MAY_CREATE,
|
||||
|
@ -410,7 +410,7 @@ int security_old_inode_init_security(struct inode *inode, struct inode *dir,
|
||||
EXPORT_SYMBOL(security_old_inode_init_security);
|
||||
|
||||
#ifdef CONFIG_SECURITY_PATH
|
||||
int security_path_mknod(struct path *dir, struct dentry *dentry, umode_t mode,
|
||||
int security_path_mknod(const struct path *dir, struct dentry *dentry, umode_t mode,
|
||||
unsigned int dev)
|
||||
{
|
||||
if (unlikely(IS_PRIVATE(d_backing_inode(dir->dentry))))
|
||||
@ -419,7 +419,7 @@ int security_path_mknod(struct path *dir, struct dentry *dentry, umode_t mode,
|
||||
}
|
||||
EXPORT_SYMBOL(security_path_mknod);
|
||||
|
||||
int security_path_mkdir(struct path *dir, struct dentry *dentry, umode_t mode)
|
||||
int security_path_mkdir(const struct path *dir, struct dentry *dentry, umode_t mode)
|
||||
{
|
||||
if (unlikely(IS_PRIVATE(d_backing_inode(dir->dentry))))
|
||||
return 0;
|
||||
@ -442,7 +442,7 @@ int security_path_unlink(const struct path *dir, struct dentry *dentry)
|
||||
}
|
||||
EXPORT_SYMBOL(security_path_unlink);
|
||||
|
||||
int security_path_symlink(struct path *dir, struct dentry *dentry,
|
||||
int security_path_symlink(const struct path *dir, struct dentry *dentry,
|
||||
const char *old_name)
|
||||
{
|
||||
if (unlikely(IS_PRIVATE(d_backing_inode(dir->dentry))))
|
||||
|
@ -178,7 +178,7 @@ static int tomoyo_path_unlink(const struct path *parent, struct dentry *dentry)
|
||||
*
|
||||
* Returns 0 on success, negative value otherwise.
|
||||
*/
|
||||
static int tomoyo_path_mkdir(struct path *parent, struct dentry *dentry,
|
||||
static int tomoyo_path_mkdir(const struct path *parent, struct dentry *dentry,
|
||||
umode_t mode)
|
||||
{
|
||||
struct path path = { parent->mnt, dentry };
|
||||
@ -209,7 +209,7 @@ static int tomoyo_path_rmdir(const struct path *parent, struct dentry *dentry)
|
||||
*
|
||||
* Returns 0 on success, negative value otherwise.
|
||||
*/
|
||||
static int tomoyo_path_symlink(struct path *parent, struct dentry *dentry,
|
||||
static int tomoyo_path_symlink(const struct path *parent, struct dentry *dentry,
|
||||
const char *old_name)
|
||||
{
|
||||
struct path path = { parent->mnt, dentry };
|
||||
@ -226,7 +226,7 @@ static int tomoyo_path_symlink(struct path *parent, struct dentry *dentry,
|
||||
*
|
||||
* Returns 0 on success, negative value otherwise.
|
||||
*/
|
||||
static int tomoyo_path_mknod(struct path *parent, struct dentry *dentry,
|
||||
static int tomoyo_path_mknod(const struct path *parent, struct dentry *dentry,
|
||||
umode_t mode, unsigned int dev)
|
||||
{
|
||||
struct path path = { parent->mnt, dentry };
|
||||
|
Loading…
Reference in New Issue
Block a user