Skip to content

Commit

Permalink
[PATCH] sys_open() cleanup
Browse files Browse the repository at this point in the history
Clean up tortured logic in sys_open().

Signed-off-by: Telemaque Ndizihiwe <telendiz@eircom.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
  • Loading branch information
Telemaque Ndizihiwe authored and Linus Torvalds committed Jun 23, 2005
1 parent 64ccd71 commit fed2fc1
Showing 1 changed file with 7 additions and 11 deletions.
18 changes: 7 additions & 11 deletions fs/open.c
Original file line number Diff line number Diff line change
Expand Up @@ -934,7 +934,7 @@ EXPORT_SYMBOL(fd_install);
asmlinkage long sys_open(const char __user * filename, int flags, int mode)
{
char * tmp;
int fd, error;
int fd;

if (force_o_largefile())
flags |= O_LARGEFILE;
Expand All @@ -945,20 +945,16 @@ asmlinkage long sys_open(const char __user * filename, int flags, int mode)
fd = get_unused_fd();
if (fd >= 0) {
struct file *f = filp_open(tmp, flags, mode);
error = PTR_ERR(f);
if (IS_ERR(f))
goto out_error;
fd_install(fd, f);
if (IS_ERR(f)) {
put_unused_fd(fd);
fd = PTR_ERR(f);
} else {
fd_install(fd, f);
}
}
out:
putname(tmp);
}
return fd;

out_error:
put_unused_fd(fd);
fd = error;
goto out;
}
EXPORT_SYMBOL_GPL(sys_open);

Expand Down

0 comments on commit fed2fc1

Please sign in to comment.