git://ftp.safe.ca
/
safe
/
jmp
/
linux-2.6
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
kill vfs_stat_fd / vfs_lstat_fd
[safe/jmp/linux-2.6]
/
fs
/
open.c
diff --git
a/fs/open.c
b/fs/open.c
index
ecc75a2
..
377eb25
100644
(file)
--- a/
fs/open.c
+++ b/
fs/open.c
@@
-29,6
+29,7
@@
#include <linux/rcupdate.h>
#include <linux/audit.h>
#include <linux/falloc.h>
#include <linux/rcupdate.h>
#include <linux/audit.h>
#include <linux/falloc.h>
+#include <linux/fs_struct.h>
int vfs_statfs(struct dentry *dentry, struct kstatfs *buf)
{
int vfs_statfs(struct dentry *dentry, struct kstatfs *buf)
{
@@
-273,7
+274,7
@@
static long do_sys_truncate(const char __user *pathname, loff_t length)
if (!error)
error = security_path_truncate(&path, length, 0);
if (!error) {
if (!error)
error = security_path_truncate(&path, length, 0);
if (!error) {
-
DQUOT_INIT
(inode);
+
vfs_dq_init
(inode);
error = do_truncate(path.dentry, length, 0, NULL);
}
error = do_truncate(path.dentry, length, 0, NULL);
}
@@
-447,7
+448,7
@@
SYSCALL_ALIAS(sys_fallocate, SyS_fallocate);
* We do this by temporarily clearing all FS-related capabilities and
* switching the fsuid/fsgid around to the real ones.
*/
* We do this by temporarily clearing all FS-related capabilities and
* switching the fsuid/fsgid around to the real ones.
*/
-
asmlinkage long sys_faccessat(int dfd, const char __user *filename, int
mode)
+
SYSCALL_DEFINE3(faccessat, int, dfd, const char __user *, filename, int,
mode)
{
const struct cred *old_cred;
struct cred *override_cred;
{
const struct cred *old_cred;
struct cred *override_cred;
@@
-517,12
+518,12
@@
out:
return res;
}
return res;
}
-
asmlinkage long sys_access(const char __user *filename, int
mode)
+
SYSCALL_DEFINE2(access, const char __user *, filename, int,
mode)
{
return sys_faccessat(AT_FDCWD, filename, mode);
}
{
return sys_faccessat(AT_FDCWD, filename, mode);
}
-
asmlinkage long sys_chdir(const char __user *
filename)
+
SYSCALL_DEFINE1(chdir, const char __user *,
filename)
{
struct path path;
int error;
{
struct path path;
int error;
@@
-543,7
+544,7
@@
out:
return error;
}
return error;
}
-
asmlinkage long sys_fchdir(unsigned int
fd)
+
SYSCALL_DEFINE1(fchdir, unsigned int,
fd)
{
struct file *file;
struct inode *inode;
{
struct file *file;
struct inode *inode;
@@
-628,8
+629,7
@@
out:
return err;
}
return err;
}
-asmlinkage long sys_fchmodat(int dfd, const char __user *filename,
- mode_t mode)
+SYSCALL_DEFINE3(fchmodat, int, dfd, const char __user *, filename, mode_t, mode)
{
struct path path;
struct inode *inode;
{
struct path path;
struct inode *inode;
@@
-688,7
+688,7
@@
static int chown_common(struct dentry * dentry, uid_t user, gid_t group)
return error;
}
return error;
}
-
asmlinkage long sys_chown(const char __user * filename, uid_t user, gid_t
group)
+
SYSCALL_DEFINE3(chown, const char __user *, filename, uid_t, user, gid_t,
group)
{
struct path path;
int error;
{
struct path path;
int error;
@@
-707,8
+707,8
@@
out:
return error;
}
return error;
}
-
asmlinkage long sys_fchownat(int dfd, const char __user *filename, uid_t
user,
-
gid_t group, int
flag)
+
SYSCALL_DEFINE5(fchownat, int, dfd, const char __user *, filename, uid_t,
user,
+
gid_t, group, int,
flag)
{
struct path path;
int error = -EINVAL;
{
struct path path;
int error = -EINVAL;
@@
-732,7
+732,7
@@
out:
return error;
}
return error;
}
-
asmlinkage long sys_lchown(const char __user * filename, uid_t user, gid_t
group)
+
SYSCALL_DEFINE3(lchown, const char __user *, filename, uid_t, user, gid_t,
group)
{
struct path path;
int error;
{
struct path path;
int error;
@@
-751,8
+751,7
@@
out:
return error;
}
return error;
}
-
-asmlinkage long sys_fchown(unsigned int fd, uid_t user, gid_t group)
+SYSCALL_DEFINE3(fchown, unsigned int, fd, uid_t, user, gid_t, group)
{
struct file * file;
int error = -EBADF;
{
struct file * file;
int error = -EBADF;
@@
-1048,7
+1047,7
@@
long do_sys_open(int dfd, const char __user *filename, int flags, int mode)
return fd;
}
return fd;
}
-
asmlinkage long sys_open(const char __user *filename, int flags, int
mode)
+
SYSCALL_DEFINE3(open, const char __user *, filename, int, flags, int,
mode)
{
long ret;
{
long ret;
@@
-1061,8
+1060,8
@@
asmlinkage long sys_open(const char __user *filename, int flags, int mode)
return ret;
}
return ret;
}
-
asmlinkage long sys_openat(int dfd, const char __user *filename, int
flags,
-
int
mode)
+
SYSCALL_DEFINE4(openat, int, dfd, const char __user *, filename, int,
flags,
+
int,
mode)
{
long ret;
{
long ret;
@@
-1081,7
+1080,7
@@
asmlinkage long sys_openat(int dfd, const char __user *filename, int flags,
* For backward compatibility? Maybe this should be moved
* into arch/i386 instead?
*/
* For backward compatibility? Maybe this should be moved
* into arch/i386 instead?
*/
-
asmlinkage long sys_creat(const char __user * pathname, int
mode)
+
SYSCALL_DEFINE2(creat, const char __user *, pathname, int,
mode)
{
return sys_open(pathname, O_CREAT | O_WRONLY | O_TRUNC, mode);
}
{
return sys_open(pathname, O_CREAT | O_WRONLY | O_TRUNC, mode);
}
@@
-1117,7
+1116,7
@@
EXPORT_SYMBOL(filp_close);
* releasing the fd. This ensures that one clone task can't release
* an fd while another clone is opening it.
*/
* releasing the fd. This ensures that one clone task can't release
* an fd while another clone is opening it.
*/
-
asmlinkage long sys_close(unsigned int
fd)
+
SYSCALL_DEFINE1(close, unsigned int,
fd)
{
struct file * filp;
struct files_struct *files = current->files;
{
struct file * filp;
struct files_struct *files = current->files;
@@
-1150,14
+1149,13
@@
out_unlock:
spin_unlock(&files->file_lock);
return -EBADF;
}
spin_unlock(&files->file_lock);
return -EBADF;
}
-
EXPORT_SYMBOL(sys_close);
/*
* This routine simulates a hangup on the tty, to arrange that users
* are given clean terminals at login time.
*/
EXPORT_SYMBOL(sys_close);
/*
* This routine simulates a hangup on the tty, to arrange that users
* are given clean terminals at login time.
*/
-
asmlinkage long sys_vhangup(void
)
+
SYSCALL_DEFINE0(vhangup
)
{
if (capable(CAP_SYS_TTY_CONFIG)) {
tty_vhangup_self();
{
if (capable(CAP_SYS_TTY_CONFIG)) {
tty_vhangup_self();