projects
/
linux-2.6-microblaze.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ocfs2: add duplicated ino number check
[linux-2.6-microblaze.git]
/
fs
/
file.c
diff --git
a/fs/file.c
b/fs/file.c
index
42f0db4
..
7ffd6e9
100644
(file)
--- a/
fs/file.c
+++ b/
fs/file.c
@@
-638,6
+638,7
@@
out_unlock:
spin_unlock(&files->file_lock);
return -EBADF;
}
spin_unlock(&files->file_lock);
return -EBADF;
}
+EXPORT_SYMBOL(__close_fd); /* for ksys_close() */
void do_close_on_exec(struct files_struct *files)
{
void do_close_on_exec(struct files_struct *files)
{
@@
-870,7
+871,7
@@
out_unlock:
return err;
}
return err;
}
-
SYSCALL_DEFINE3(dup3, unsigned int, oldfd, unsigned int, newfd, int,
flags)
+
static int ksys_dup3(unsigned int oldfd, unsigned int newfd, int
flags)
{
int err = -EBADF;
struct file *file;
{
int err = -EBADF;
struct file *file;
@@
-904,6
+905,11
@@
out_unlock:
return err;
}
return err;
}
+SYSCALL_DEFINE3(dup3, unsigned int, oldfd, unsigned int, newfd, int, flags)
+{
+ return ksys_dup3(oldfd, newfd, flags);
+}
+
SYSCALL_DEFINE2(dup2, unsigned int, oldfd, unsigned int, newfd)
{
if (unlikely(newfd == oldfd)) { /* corner case */
SYSCALL_DEFINE2(dup2, unsigned int, oldfd, unsigned int, newfd)
{
if (unlikely(newfd == oldfd)) { /* corner case */
@@
-916,10
+922,10
@@
SYSCALL_DEFINE2(dup2, unsigned int, oldfd, unsigned int, newfd)
rcu_read_unlock();
return retval;
}
rcu_read_unlock();
return retval;
}
- return sys_dup3(oldfd, newfd, 0);
+ return
k
sys_dup3(oldfd, newfd, 0);
}
}
-
SYSCALL_DEFINE1(dup, unsigned int,
fildes)
+
int ksys_dup(unsigned int
fildes)
{
int ret = -EBADF;
struct file *file = fget_raw(fildes);
{
int ret = -EBADF;
struct file *file = fget_raw(fildes);
@@
-934,6
+940,11
@@
SYSCALL_DEFINE1(dup, unsigned int, fildes)
return ret;
}
return ret;
}
+SYSCALL_DEFINE1(dup, unsigned int, fildes)
+{
+ return ksys_dup(fildes);
+}
+
int f_dupfd(unsigned int from, struct file *file, unsigned flags)
{
int err;
int f_dupfd(unsigned int from, struct file *file, unsigned flags)
{
int err;