* Copyright (C) 1997 David S. Miller (davem@caip.rutgers.edu)
*/
+#include <linux/config.h>
#include <linux/string.h>
#include <linux/slab.h>
#include <linux/file.h>
*/
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;
- tsk = current;
- INIT_LIST_HEAD(&f->f_u.fu_list);
+ eventpoll_init_file(f);
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);
f->f_xid = vx_current_xid();
vx_files_inc(f);
return f;
if (file->f_op && file->f_op->release)
file->f_op->release(inode, file);
security_file_free(file);
- if (unlikely(S_ISCHR(inode->i_mode) && inode->i_cdev != NULL))
+ if (unlikely(inode->i_cdev != NULL))
cdev_put(inode->i_cdev);
fops_put(file->f_op);
if (file->f_mode & FMODE_WRITE)
return file;
}
-EXPORT_SYMBOL_GPL(fget_light);
void put_filp(struct file *file)
{
if (files_stat.max_files < NR_FILE)
files_stat.max_files = NR_FILE;
files_defer_init();
- percpu_counter_init(&nr_files, 0);
+ percpu_counter_init(&nr_files);
}