|
@@ -88,6 +88,7 @@ int proc_nr_files(ctl_table *table, int write, struct file *filp,
|
|
|
*/
|
|
|
struct file *get_empty_filp(void)
|
|
|
{
|
|
|
+ struct task_struct *tsk;
|
|
|
static int old_max;
|
|
|
struct file * f;
|
|
|
|
|
@@ -112,13 +113,14 @@ struct file *get_empty_filp(void)
|
|
|
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:
|