diff options
Diffstat (limited to 'ipc')
-rw-r--r-- | ipc/ipc_sysctl.c | 4 | ||||
-rw-r--r-- | ipc/mqueue.c | 2 | ||||
-rw-r--r-- | ipc/shm.c | 18 |
3 files changed, 9 insertions, 15 deletions
diff --git a/ipc/ipc_sysctl.c b/ipc/ipc_sysctl.c index a88934a1b76..79e24e878c1 100644 --- a/ipc/ipc_sysctl.c +++ b/ipc/ipc_sysctl.c @@ -15,7 +15,6 @@ #include <linux/sysctl.h> #include <linux/uaccess.h> -#ifdef CONFIG_IPC_NS static void *get_ipc(ctl_table *table) { char *which = table->data; @@ -23,9 +22,6 @@ static void *get_ipc(ctl_table *table) which = (which - (char *)&init_ipc_ns) + (char *)ipc_ns; return which; } -#else -#define get_ipc(T) ((T)->data) -#endif #ifdef CONFIG_PROC_FS static int proc_ipc_dointvec(ctl_table *table, int write, struct file *filp, diff --git a/ipc/mqueue.c b/ipc/mqueue.c index 24df3347ad4..774843cff75 100644 --- a/ipc/mqueue.c +++ b/ipc/mqueue.c @@ -211,7 +211,7 @@ static int mqueue_get_sb(struct file_system_type *fs_type, return get_sb_single(fs_type, flags, data, mqueue_fill_super, mnt); } -static void init_once(void *foo, struct kmem_cache * cachep, unsigned long flags) +static void init_once(struct kmem_cache *cachep, void *foo) { struct mqueue_inode_info *p = (struct mqueue_inode_info *) foo; diff --git a/ipc/shm.c b/ipc/shm.c index a86a3a5c8a1..5fc5cf50cf1 100644 --- a/ipc/shm.c +++ b/ipc/shm.c @@ -233,7 +233,7 @@ static int shm_fault(struct vm_area_struct *vma, struct vm_fault *vmf) } #ifdef CONFIG_NUMA -int shm_set_policy(struct vm_area_struct *vma, struct mempolicy *new) +static int shm_set_policy(struct vm_area_struct *vma, struct mempolicy *new) { struct file *file = vma->vm_file; struct shm_file_data *sfd = shm_file_data(file); @@ -243,7 +243,8 @@ int shm_set_policy(struct vm_area_struct *vma, struct mempolicy *new) return err; } -struct mempolicy *shm_get_policy(struct vm_area_struct *vma, unsigned long addr) +static struct mempolicy *shm_get_policy(struct vm_area_struct *vma, + unsigned long addr) { struct file *file = vma->vm_file; struct shm_file_data *sfd = shm_file_data(file); @@ -906,7 +907,7 @@ long do_shmat(int shmid, char __user *shmaddr, int shmflg, ulong *raddr) goto out_unlock; path.dentry = dget(shp->shm_file->f_path.dentry); - path.mnt = mntget(shp->shm_file->f_path.mnt); + path.mnt = shp->shm_file->f_path.mnt; shp->shm_nattch++; size = i_size_read(path.dentry->d_inode); shm_unlock(shp); @@ -914,18 +915,16 @@ long do_shmat(int shmid, char __user *shmaddr, int shmflg, ulong *raddr) err = -ENOMEM; sfd = kzalloc(sizeof(*sfd), GFP_KERNEL); if (!sfd) - goto out_put_path; + goto out_put_dentry; err = -ENOMEM; - file = get_empty_filp(); + + file = alloc_file(path.mnt, path.dentry, f_mode, &shm_file_operations); if (!file) goto out_free; - file->f_op = &shm_file_operations; file->private_data = sfd; - file->f_path = path; file->f_mapping = shp->shm_file->f_mapping; - file->f_mode = f_mode; sfd->id = shp->id; sfd->ns = get_ipc_ns(ns); sfd->file = shp->shm_file; @@ -976,9 +975,8 @@ out_unlock: out_free: kfree(sfd); -out_put_path: +out_put_dentry: dput(path.dentry); - mntput(path.mnt); goto out_nattch; } |