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
x86: Fix boot on Twinhead H12Y
[firefly-linux-kernel-4.4.55.git]
/
fs
/
stat.c
diff --git
a/fs/stat.c
b/fs/stat.c
index 961039121cb8cbde185bf1b8399c6e4ccc71cdf5..aec24ec7bc9119b39abdbc2709a6a6cb2cfc35ff 100644
(file)
--- a/
fs/stat.c
+++ b/
fs/stat.c
@@
-57,7
+57,7
@@
EXPORT_SYMBOL(vfs_getattr);
int vfs_fstat(unsigned int fd, struct kstat *stat)
{
int vfs_fstat(unsigned int fd, struct kstat *stat)
{
- struct file *f = fget(fd);
+ struct file *f = fget
_raw
(fd);
int error = -EBADF;
if (f) {
int error = -EBADF;
if (f) {
@@
-296,15
+296,16
@@
SYSCALL_DEFINE4(readlinkat, int, dfd, const char __user *, pathname,
{
struct path path;
int error;
{
struct path path;
int error;
+ int empty = 0;
if (bufsiz <= 0)
return -EINVAL;
if (bufsiz <= 0)
return -EINVAL;
- error = user_path_at
(dfd, pathname, LOOKUP_EMPTY, &path
);
+ error = user_path_at
_empty(dfd, pathname, LOOKUP_EMPTY, &path, &empty
);
if (!error) {
struct inode *inode = path.dentry->d_inode;
if (!error) {
struct inode *inode = path.dentry->d_inode;
- error = -EINVAL;
+ error =
empty ? -ENOENT :
-EINVAL;
if (inode->i_op->readlink) {
error = security_inode_readlink(path.dentry);
if (!error) {
if (inode->i_op->readlink) {
error = security_inode_readlink(path.dentry);
if (!error) {