projects
/
firefly-linux-kernel-4.4.55.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'kvm-updates-2.6.27' of git://git.kernel.org/pub/scm/linux/kernel/git...
[firefly-linux-kernel-4.4.55.git]
/
fs
/
stat.c
diff --git
a/fs/stat.c
b/fs/stat.c
index 68510068a6414e46f510033f9dc1477a4704672b..7c46fbeb8b762e0f125a594a6fd27747ff160c55 100644
(file)
--- a/
fs/stat.c
+++ b/
fs/stat.c
@@
-57,13
+57,13
@@
EXPORT_SYMBOL(vfs_getattr);
int vfs_stat_fd(int dfd, char __user *name, struct kstat *stat)
{
int vfs_stat_fd(int dfd, char __user *name, struct kstat *stat)
{
- struct
nameidata nd
;
+ struct
path path
;
int error;
int error;
- error =
__user_walk_fd(dfd, name, LOOKUP_FOLLOW, &nd
);
+ error =
user_path_at(dfd, name, LOOKUP_FOLLOW, &path
);
if (!error) {
if (!error) {
- error = vfs_getattr(
nd.mnt, nd
.dentry, stat);
- path_
release(&nd
);
+ error = vfs_getattr(
path.mnt, path
.dentry, stat);
+ path_
put(&path
);
}
return error;
}
}
return error;
}
@@
-77,13
+77,13
@@
EXPORT_SYMBOL(vfs_stat);
int vfs_lstat_fd(int dfd, char __user *name, struct kstat *stat)
{
int vfs_lstat_fd(int dfd, char __user *name, struct kstat *stat)
{
- struct
nameidata nd
;
+ struct
path path
;
int error;
int error;
- error =
__user_walk_fd(dfd, name, 0, &nd
);
+ error =
user_path_at(dfd, name, 0, &path
);
if (!error) {
if (!error) {
- error = vfs_getattr(
nd.mnt, nd
.dentry, stat);
- path_
release(&nd
);
+ error = vfs_getattr(
path.mnt, path
.dentry, stat);
+ path_
put(&path
);
}
return error;
}
}
return error;
}
@@
-291,28
+291,29
@@
asmlinkage long sys_newfstat(unsigned int fd, struct stat __user *statbuf)
return error;
}
return error;
}
-asmlinkage long sys_readlinkat(int dfd, const char __user *path,
+asmlinkage long sys_readlinkat(int dfd, const char __user *path
name
,
char __user *buf, int bufsiz)
{
char __user *buf, int bufsiz)
{
- struct
nameidata nd
;
+ struct
path path
;
int error;
if (bufsiz <= 0)
return -EINVAL;
int error;
if (bufsiz <= 0)
return -EINVAL;
- error =
__user_walk_fd(dfd, path, 0, &nd
);
+ error =
user_path_at(dfd, pathname, 0, &path
);
if (!error) {
if (!error) {
- struct inode *
inode = nd
.dentry->d_inode;
+ struct inode *
inode = path
.dentry->d_inode;
error = -EINVAL;
if (inode->i_op && inode->i_op->readlink) {
error = -EINVAL;
if (inode->i_op && inode->i_op->readlink) {
- error = security_inode_readlink(
nd
.dentry);
+ error = security_inode_readlink(
path
.dentry);
if (!error) {
if (!error) {
- touch_atime(nd.mnt, nd.dentry);
- error = inode->i_op->readlink(nd.dentry, buf, bufsiz);
+ touch_atime(path.mnt, path.dentry);
+ error = inode->i_op->readlink(path.dentry,
+ buf, bufsiz);
}
}
}
}
- path_
release(&nd
);
+ path_
put(&path
);
}
return error;
}
}
return error;
}