提交 d3607752 编写于 作者: A Al Viro

constify security_path_{mkdir,mknod,symlink}

... as well as unix_mknod() and may_o_create()
Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
上级 989f74e0
...@@ -2783,7 +2783,7 @@ static inline int open_to_namei_flags(int flag) ...@@ -2783,7 +2783,7 @@ static inline int open_to_namei_flags(int flag)
return 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); int error = security_path_mknod(dir, dentry, mode, 0);
if (error) if (error)
......
...@@ -1361,13 +1361,13 @@ union security_list_options { ...@@ -1361,13 +1361,13 @@ union security_list_options {
#ifdef CONFIG_SECURITY_PATH #ifdef CONFIG_SECURITY_PATH
int (*path_unlink)(const struct path *dir, struct dentry *dentry); 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); umode_t mode);
int (*path_rmdir)(const struct path *dir, struct dentry *dentry); 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); umode_t mode, unsigned int dev);
int (*path_truncate)(const struct path *path); 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); const char *old_name);
int (*path_link)(struct dentry *old_dentry, struct path *new_dir, int (*path_link)(struct dentry *old_dentry, struct path *new_dir,
struct dentry *new_dentry); struct dentry *new_dentry);
......
...@@ -1443,12 +1443,12 @@ static inline void security_skb_classify_flow(struct sk_buff *skb, struct flowi ...@@ -1443,12 +1443,12 @@ static inline void security_skb_classify_flow(struct sk_buff *skb, struct flowi
#ifdef CONFIG_SECURITY_PATH #ifdef CONFIG_SECURITY_PATH
int security_path_unlink(const struct path *dir, struct dentry *dentry); 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_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); unsigned int dev);
int security_path_truncate(const struct path *path); 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); const char *old_name);
int security_path_link(struct dentry *old_dentry, struct path *new_dir, int security_path_link(struct dentry *old_dentry, struct path *new_dir,
struct dentry *new_dentry); struct dentry *new_dentry);
...@@ -1464,7 +1464,7 @@ static inline int security_path_unlink(const struct path *dir, struct dentry *de ...@@ -1464,7 +1464,7 @@ static inline int security_path_unlink(const struct path *dir, struct dentry *de
return 0; 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) umode_t mode)
{ {
return 0; return 0;
...@@ -1475,7 +1475,7 @@ static inline int security_path_rmdir(const struct path *dir, struct dentry *den ...@@ -1475,7 +1475,7 @@ static inline int security_path_rmdir(const struct path *dir, struct dentry *den
return 0; 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) umode_t mode, unsigned int dev)
{ {
return 0; return 0;
...@@ -1486,7 +1486,7 @@ static inline int security_path_truncate(const struct path *path) ...@@ -1486,7 +1486,7 @@ static inline int security_path_truncate(const struct path *path)
return 0; 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) const char *old_name)
{ {
return 0; return 0;
......
...@@ -953,7 +953,7 @@ static struct sock *unix_find_other(struct net *net, ...@@ -953,7 +953,7 @@ static struct sock *unix_find_other(struct net *net,
return NULL; 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) struct path *res)
{ {
int err; int err;
......
...@@ -250,7 +250,7 @@ static int apparmor_path_unlink(const struct path *dir, struct dentry *dentry) ...@@ -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); 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) umode_t mode)
{ {
return common_perm_create(OP_MKDIR, dir, dentry, AA_MAY_CREATE, 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) ...@@ -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); 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) umode_t mode, unsigned int dev)
{ {
return common_perm_create(OP_MKNOD, dir, dentry, AA_MAY_CREATE, mode); 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) ...@@ -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); 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) const char *old_name)
{ {
return common_perm_create(OP_SYMLINK, dir, dentry, AA_MAY_CREATE, 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, ...@@ -410,7 +410,7 @@ int security_old_inode_init_security(struct inode *inode, struct inode *dir,
EXPORT_SYMBOL(security_old_inode_init_security); EXPORT_SYMBOL(security_old_inode_init_security);
#ifdef CONFIG_SECURITY_PATH #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) unsigned int dev)
{ {
if (unlikely(IS_PRIVATE(d_backing_inode(dir->dentry)))) 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, ...@@ -419,7 +419,7 @@ int security_path_mknod(struct path *dir, struct dentry *dentry, umode_t mode,
} }
EXPORT_SYMBOL(security_path_mknod); 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)))) if (unlikely(IS_PRIVATE(d_backing_inode(dir->dentry))))
return 0; return 0;
...@@ -442,7 +442,7 @@ int security_path_unlink(const struct path *dir, struct dentry *dentry) ...@@ -442,7 +442,7 @@ int security_path_unlink(const struct path *dir, struct dentry *dentry)
} }
EXPORT_SYMBOL(security_path_unlink); 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) const char *old_name)
{ {
if (unlikely(IS_PRIVATE(d_backing_inode(dir->dentry)))) 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) ...@@ -178,7 +178,7 @@ static int tomoyo_path_unlink(const struct path *parent, struct dentry *dentry)
* *
* Returns 0 on success, negative value otherwise. * 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) umode_t mode)
{ {
struct path path = { parent->mnt, dentry }; struct path path = { parent->mnt, dentry };
...@@ -209,7 +209,7 @@ static int tomoyo_path_rmdir(const struct path *parent, struct dentry *dentry) ...@@ -209,7 +209,7 @@ static int tomoyo_path_rmdir(const struct path *parent, struct dentry *dentry)
* *
* Returns 0 on success, negative value otherwise. * 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) const char *old_name)
{ {
struct path path = { parent->mnt, dentry }; struct path path = { parent->mnt, dentry };
...@@ -226,7 +226,7 @@ static int tomoyo_path_symlink(struct path *parent, struct dentry *dentry, ...@@ -226,7 +226,7 @@ static int tomoyo_path_symlink(struct path *parent, struct dentry *dentry,
* *
* Returns 0 on success, negative value otherwise. * 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) umode_t mode, unsigned int dev)
{ {
struct path path = { parent->mnt, dentry }; struct path path = { parent->mnt, dentry };
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册