Commit 6e667260 authored by Prasanna Meda's avatar Prasanna Meda Committed by Linus Torvalds

[PATCH] dup fd error fix

Set errorp in dup_fd, it will be used in sys_unshare also.
Signed-off-by: default avatarPrasanna Meda <mlp@google.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 538c5902
...@@ -625,6 +625,7 @@ out: ...@@ -625,6 +625,7 @@ out:
/* /*
* Allocate a new files structure and copy contents from the * Allocate a new files structure and copy contents from the
* passed in files structure. * passed in files structure.
* errorp will be valid only when the returned files_struct is NULL.
*/ */
static struct files_struct *dup_fd(struct files_struct *oldf, int *errorp) static struct files_struct *dup_fd(struct files_struct *oldf, int *errorp)
{ {
...@@ -633,6 +634,7 @@ static struct files_struct *dup_fd(struct files_struct *oldf, int *errorp) ...@@ -633,6 +634,7 @@ static struct files_struct *dup_fd(struct files_struct *oldf, int *errorp)
int open_files, size, i, expand; int open_files, size, i, expand;
struct fdtable *old_fdt, *new_fdt; struct fdtable *old_fdt, *new_fdt;
*errorp = -ENOMEM;
newf = alloc_files(); newf = alloc_files();
if (!newf) if (!newf)
goto out; goto out;
...@@ -746,7 +748,6 @@ static int copy_files(unsigned long clone_flags, struct task_struct * tsk) ...@@ -746,7 +748,6 @@ static int copy_files(unsigned long clone_flags, struct task_struct * tsk)
* break this. * break this.
*/ */
tsk->files = NULL; tsk->files = NULL;
error = -ENOMEM;
newf = dup_fd(oldf, &error); newf = dup_fd(oldf, &error);
if (!newf) if (!newf)
goto out; goto out;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment