}
 
 
-/* Used to initialize the epoll bits inside the "struct file" */
-void eventpoll_init_file(struct file *file)
-{
-
-       INIT_LIST_HEAD(&file->f_ep_links);
-       spin_lock_init(&file->f_ep_lock);
-}
-
-
 /*
  * This is called from eventpoll_release() to unlink files from the eventpoll
  * interface. We need to have this facility to cleanup correctly files that are
 
  */
 struct file *get_empty_filp(void)
 {
+       struct task_struct *tsk;
        static int old_max;
        struct file * f;
 
        if (security_file_alloc(f))
                goto fail_sec;
 
-       eventpoll_init_file(f);
+       tsk = current;
+       INIT_LIST_HEAD(&f->f_u.fu_list);
        atomic_set(&f->f_count, 1);
-       f->f_uid = current->fsuid;
-       f->f_gid = current->fsgid;
        rwlock_init(&f->f_owner.lock);
+       f->f_uid = tsk->fsuid;
+       f->f_gid = tsk->fsgid;
+       eventpoll_init_file(f);
        /* f->f_version: 0 */
-       INIT_LIST_HEAD(&f->f_u.fu_list);
        return f;
 
 over:
 
 #ifdef CONFIG_EPOLL
 
 /* Used to initialize the epoll bits inside the "struct file" */
-void eventpoll_init_file(struct file *file);
+static inline void eventpoll_init_file(struct file *file)
+{
+       INIT_LIST_HEAD(&file->f_ep_links);
+       spin_lock_init(&file->f_ep_lock);
+}
+
 
 /* Used to release the epoll bits inside the "struct file" */
 void eventpoll_release_file(struct file *file);
        eventpoll_release_file(file);
 }
 
-
 #else
 
 static inline void eventpoll_init_file(struct file *file) {}