Commit 0552f879 authored by Al Viro's avatar Al Viro

Untangling ima mess, part 1: alloc_file()

There are 2 groups of alloc_file() callers:
	* ones that are followed by ima_counts_get
	* ones giving non-regular files
So let's pull that ima_counts_get() into alloc_file();
it's a no-op in case of non-regular files.
Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 7715b521
...@@ -21,6 +21,7 @@ ...@@ -21,6 +21,7 @@
#include <linux/fsnotify.h> #include <linux/fsnotify.h>
#include <linux/sysctl.h> #include <linux/sysctl.h>
#include <linux/percpu_counter.h> #include <linux/percpu_counter.h>
#include <linux/ima.h>
#include <asm/atomic.h> #include <asm/atomic.h>
...@@ -190,6 +191,7 @@ struct file *alloc_file(struct path *path, fmode_t mode, ...@@ -190,6 +191,7 @@ struct file *alloc_file(struct path *path, fmode_t mode,
error = mnt_clone_write(path->mnt); error = mnt_clone_write(path->mnt);
WARN_ON(error); WARN_ON(error);
} }
ima_counts_get(file);
return file; return file;
} }
......
...@@ -30,7 +30,6 @@ ...@@ -30,7 +30,6 @@
#include <linux/dnotify.h> #include <linux/dnotify.h>
#include <linux/statfs.h> #include <linux/statfs.h>
#include <linux/security.h> #include <linux/security.h>
#include <linux/ima.h>
#include <linux/magic.h> #include <linux/magic.h>
#include <asm/uaccess.h> #include <asm/uaccess.h>
...@@ -971,7 +970,6 @@ struct file *hugetlb_file_setup(const char *name, size_t size, int acctflag, ...@@ -971,7 +970,6 @@ struct file *hugetlb_file_setup(const char *name, size_t size, int acctflag,
&hugetlbfs_file_operations); &hugetlbfs_file_operations);
if (!file) if (!file)
goto out_dentry; /* inode is already attached */ goto out_dentry; /* inode is already attached */
ima_counts_get(file);
return file; return file;
......
...@@ -39,7 +39,6 @@ ...@@ -39,7 +39,6 @@
#include <linux/nsproxy.h> #include <linux/nsproxy.h>
#include <linux/mount.h> #include <linux/mount.h>
#include <linux/ipc_namespace.h> #include <linux/ipc_namespace.h>
#include <linux/ima.h>
#include <asm/uaccess.h> #include <asm/uaccess.h>
...@@ -895,7 +894,6 @@ long do_shmat(int shmid, char __user *shmaddr, int shmflg, ulong *raddr) ...@@ -895,7 +894,6 @@ long do_shmat(int shmid, char __user *shmaddr, int shmflg, ulong *raddr)
&shm_file_operations); &shm_file_operations);
if (!file) if (!file)
goto out_free; goto out_free;
ima_counts_get(file);
file->private_data = sfd; file->private_data = sfd;
file->f_mapping = shp->shm_file->f_mapping; file->f_mapping = shp->shm_file->f_mapping;
......
...@@ -29,7 +29,6 @@ ...@@ -29,7 +29,6 @@
#include <linux/mm.h> #include <linux/mm.h>
#include <linux/module.h> #include <linux/module.h>
#include <linux/swap.h> #include <linux/swap.h>
#include <linux/ima.h>
static struct vfsmount *shm_mnt; static struct vfsmount *shm_mnt;
...@@ -2669,7 +2668,6 @@ struct file *shmem_file_setup(const char *name, loff_t size, unsigned long flags ...@@ -2669,7 +2668,6 @@ struct file *shmem_file_setup(const char *name, loff_t size, unsigned long flags
if (!file) if (!file)
goto put_dentry; goto put_dentry;
ima_counts_get(file);
return file; return file;
put_dentry: put_dentry:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment