提交 ea0d3ab2 编写于 作者: T Tetsuo Handa 提交者: James Morris

LSM: Remove unused arguments from security_path_truncate().

When commit be6d3e56 "introduce new LSM hooks
where vfsmount is available." was proposed, regarding security_path_truncate(),
only "struct file *" argument (which AppArmor wanted to use) was removed.
But length and time_attrs arguments are not used by TOMOYO nor AppArmor.
Thus, let's remove these arguments.
Signed-off-by: NTetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Acked-by: NNick Piggin <npiggin@suse.de>
Signed-off-by: NJames Morris <jmorris@namei.org>
上级 3e62cbb8
...@@ -1484,8 +1484,7 @@ static int handle_truncate(struct path *path) ...@@ -1484,8 +1484,7 @@ static int handle_truncate(struct path *path)
*/ */
error = locks_verify_locked(inode); error = locks_verify_locked(inode);
if (!error) if (!error)
error = security_path_truncate(path, 0, error = security_path_truncate(path);
ATTR_MTIME|ATTR_CTIME|ATTR_OPEN);
if (!error) { if (!error) {
error = do_truncate(path->dentry, 0, error = do_truncate(path->dentry, 0,
ATTR_MTIME|ATTR_CTIME|ATTR_OPEN, ATTR_MTIME|ATTR_CTIME|ATTR_OPEN,
......
...@@ -110,7 +110,7 @@ static long do_sys_truncate(const char __user *pathname, loff_t length) ...@@ -110,7 +110,7 @@ static long do_sys_truncate(const char __user *pathname, loff_t length)
error = locks_verify_truncate(inode, NULL, length); error = locks_verify_truncate(inode, NULL, length);
if (!error) if (!error)
error = security_path_truncate(&path, length, 0); error = security_path_truncate(&path);
if (!error) if (!error)
error = do_truncate(path.dentry, length, 0, NULL); error = do_truncate(path.dentry, length, 0, NULL);
...@@ -165,8 +165,7 @@ static long do_sys_ftruncate(unsigned int fd, loff_t length, int small) ...@@ -165,8 +165,7 @@ static long do_sys_ftruncate(unsigned int fd, loff_t length, int small)
error = locks_verify_truncate(inode, file, length); error = locks_verify_truncate(inode, file, length);
if (!error) if (!error)
error = security_path_truncate(&file->f_path, length, error = security_path_truncate(&file->f_path);
ATTR_MTIME|ATTR_CTIME);
if (!error) if (!error)
error = do_truncate(dentry, length, ATTR_MTIME|ATTR_CTIME, file); error = do_truncate(dentry, length, ATTR_MTIME|ATTR_CTIME, file);
out_putf: out_putf:
......
...@@ -470,8 +470,6 @@ static inline void security_free_mnt_opts(struct security_mnt_opts *opts) ...@@ -470,8 +470,6 @@ static inline void security_free_mnt_opts(struct security_mnt_opts *opts)
* @path_truncate: * @path_truncate:
* Check permission before truncating a file. * Check permission before truncating a file.
* @path contains the path structure for the file. * @path contains the path structure for the file.
* @length is the new length of the file.
* @time_attrs is the flags passed to do_truncate().
* Return 0 if permission is granted. * Return 0 if permission is granted.
* @inode_getattr: * @inode_getattr:
* Check permission before obtaining file attributes. * Check permission before obtaining file attributes.
...@@ -1412,8 +1410,7 @@ struct security_operations { ...@@ -1412,8 +1410,7 @@ struct security_operations {
int (*path_rmdir) (struct path *dir, struct dentry *dentry); int (*path_rmdir) (struct path *dir, struct dentry *dentry);
int (*path_mknod) (struct path *dir, struct dentry *dentry, int mode, int (*path_mknod) (struct path *dir, struct dentry *dentry, int mode,
unsigned int dev); unsigned int dev);
int (*path_truncate) (struct path *path, loff_t length, int (*path_truncate) (struct path *path);
unsigned int time_attrs);
int (*path_symlink) (struct path *dir, struct dentry *dentry, int (*path_symlink) (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,
...@@ -2806,8 +2803,7 @@ int security_path_mkdir(struct path *dir, struct dentry *dentry, int mode); ...@@ -2806,8 +2803,7 @@ int security_path_mkdir(struct path *dir, struct dentry *dentry, int mode);
int security_path_rmdir(struct path *dir, struct dentry *dentry); int security_path_rmdir(struct path *dir, struct dentry *dentry);
int security_path_mknod(struct path *dir, struct dentry *dentry, int mode, int security_path_mknod(struct path *dir, struct dentry *dentry, int mode,
unsigned int dev); unsigned int dev);
int security_path_truncate(struct path *path, loff_t length, int security_path_truncate(struct path *path);
unsigned int time_attrs);
int security_path_symlink(struct path *dir, struct dentry *dentry, int security_path_symlink(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,
...@@ -2841,8 +2837,7 @@ static inline int security_path_mknod(struct path *dir, struct dentry *dentry, ...@@ -2841,8 +2837,7 @@ static inline int security_path_mknod(struct path *dir, struct dentry *dentry,
return 0; return 0;
} }
static inline int security_path_truncate(struct path *path, loff_t length, static inline int security_path_truncate(struct path *path)
unsigned int time_attrs)
{ {
return 0; return 0;
} }
......
...@@ -268,8 +268,7 @@ static int cap_path_rename(struct path *old_path, struct dentry *old_dentry, ...@@ -268,8 +268,7 @@ static int cap_path_rename(struct path *old_path, struct dentry *old_dentry,
return 0; return 0;
} }
static int cap_path_truncate(struct path *path, loff_t length, static int cap_path_truncate(struct path *path)
unsigned int time_attrs)
{ {
return 0; return 0;
} }
......
...@@ -417,12 +417,11 @@ int security_path_rename(struct path *old_dir, struct dentry *old_dentry, ...@@ -417,12 +417,11 @@ int security_path_rename(struct path *old_dir, struct dentry *old_dentry,
new_dentry); new_dentry);
} }
int security_path_truncate(struct path *path, loff_t length, int security_path_truncate(struct path *path)
unsigned int time_attrs)
{ {
if (unlikely(IS_PRIVATE(path->dentry->d_inode))) if (unlikely(IS_PRIVATE(path->dentry->d_inode)))
return 0; return 0;
return security_ops->path_truncate(path, length, time_attrs); return security_ops->path_truncate(path);
} }
int security_path_chmod(struct dentry *dentry, struct vfsmount *mnt, int security_path_chmod(struct dentry *dentry, struct vfsmount *mnt,
......
...@@ -93,8 +93,7 @@ static int tomoyo_bprm_check_security(struct linux_binprm *bprm) ...@@ -93,8 +93,7 @@ static int tomoyo_bprm_check_security(struct linux_binprm *bprm)
return tomoyo_check_open_permission(domain, &bprm->file->f_path, O_RDONLY); return tomoyo_check_open_permission(domain, &bprm->file->f_path, O_RDONLY);
} }
static int tomoyo_path_truncate(struct path *path, loff_t length, static int tomoyo_path_truncate(struct path *path)
unsigned int time_attrs)
{ {
return tomoyo_path_perm(TOMOYO_TYPE_TRUNCATE, path); return tomoyo_path_perm(TOMOYO_TYPE_TRUNCATE, path);
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册