switch simple cases of fget_light to fdget
[deliverable/linux.git] / arch / ia64 / kernel / perfmon.c
index d7f558c1e7117bfff75a056d4fee9213c6a4b7fb..e3bd7b8aceabb3696fa5deb88521c4e48512f8cc 100644 (file)
@@ -2306,7 +2306,7 @@ pfm_smpl_buffer_alloc(struct task_struct *task, struct file *filp, pfm_context_t
         * partially initialize the vma for the sampling buffer
         */
        vma->vm_mm           = mm;
-       vma->vm_file         = filp;
+       vma->vm_file         = get_file(filp);
        vma->vm_flags        = VM_READ| VM_MAYREAD |VM_RESERVED;
        vma->vm_page_prot    = PAGE_READONLY; /* XXX may need to change */
 
@@ -2345,15 +2345,12 @@ pfm_smpl_buffer_alloc(struct task_struct *task, struct file *filp, pfm_context_t
                goto error;
        }
 
-       get_file(filp);
-
        /*
         * now insert the vma in the vm list for the process, must be
         * done with mmap lock held
         */
        insert_vm_struct(mm, vma);
 
-       mm->total_vm  += size >> PAGE_SHIFT;
        vm_stat_account(vma->vm_mm, vma->vm_flags, vma->vm_file,
                                                        vma_pages(vma));
        up_write(&task->mm->mmap_sem);
@@ -4783,7 +4780,7 @@ recheck:
 asmlinkage long
 sys_perfmonctl (int fd, int cmd, void __user *arg, int count)
 {
-       struct file *file = NULL;
+       struct fd f = {NULL, 0};
        pfm_context_t *ctx = NULL;
        unsigned long flags = 0UL;
        void *args_k = NULL;
@@ -4880,17 +4877,17 @@ restart_args:
 
        ret = -EBADF;
 
-       file = fget(fd);
-       if (unlikely(file == NULL)) {
+       f = fdget(fd);
+       if (unlikely(f.file == NULL)) {
                DPRINT(("invalid fd %d\n", fd));
                goto error_args;
        }
-       if (unlikely(PFM_IS_FILE(file) == 0)) {
+       if (unlikely(PFM_IS_FILE(f.file) == 0)) {
                DPRINT(("fd %d not related to perfmon\n", fd));
                goto error_args;
        }
 
-       ctx = file->private_data;
+       ctx = f.file->private_data;
        if (unlikely(ctx == NULL)) {
                DPRINT(("no context for fd %d\n", fd));
                goto error_args;
@@ -4920,8 +4917,8 @@ abort_locked:
        if (call_made && PFM_CMD_RW_ARG(cmd) && copy_to_user(arg, args_k, base_sz*count)) ret = -EFAULT;
 
 error_args:
-       if (file)
-               fput(file);
+       if (f.file)
+               fdput(f);
 
        kfree(args_k);
 
This page took 0.051951 seconds and 5 git commands to generate.