Linux Headquarters
[ Register ]
[ About us ] [ Home Page ]

Advertisement
[ Kernel ] [ Documentation ] [ Links ] [ Books ]

Advertisement

Kernel v2.6.25-rc7 /fs/stat.c

Filename:/fs/stat.c
Lines Added:10
Lines Deleted:9
Also changed in: (Previous) 2.6.25-rc6  2.6.25-rc5  2.6.25-rc4  2.6.25-rc3  2.6.25-rc2  2.6.25-rc1-git4 
(Following) 2.6.25-rc8  2.6.25-rc9  2.6.25  2.6.26-git15  2.6.26-git16  2.6.26-git17 

Location
[  2.6.25-rc7
  [  fs
     o  stat.c

Patch

diff --git a/fs/stat.c b/fs/stat.c
index 6851006..9cf41f7 100644
--- a/fs/stat.c
+++ b/fs/stat.c
@@ -62,8 +62,8 @@ int vfs_stat_fd(int dfd, char __user *name, struct kstat *stat)
 
    error = __user_walk_fd(dfd, name, LOOKUP_FOLLOW, &nd);
    if (!error) {
-      error = vfs_getattr(nd.mnt, nd.dentry, stat);
-      path_release(&nd);
+      error = vfs_getattr(nd.path.mnt, nd.path.dentry, stat);
+      path_put(&nd.path);
    }
    return error;
 }
@@ -82,8 +82,8 @@ int vfs_lstat_fd(int dfd, char __user *name, struct kstat *stat)
 
    error = __user_walk_fd(dfd, name, 0, &nd);
    if (!error) {
-      error = vfs_getattr(nd.mnt, nd.dentry, stat);
-      path_release(&nd);
+      error = vfs_getattr(nd.path.mnt, nd.path.dentry, stat);
+      path_put(&nd.path);
    }
    return error;
 }
@@ -302,17 +302,18 @@ asmlinkage long sys_readlinkat(int dfd, const char __user *path,
 
    error = __user_walk_fd(dfd, path, 0, &nd);
    if (!error) {
-      struct inode * inode = nd.dentry->d_inode;
+      struct inode *inode = nd.path.dentry->d_inode;
 
       error = -EINVAL;
       if (inode->i_op && inode->i_op->readlink) {
-         error = security_inode_readlink(nd.dentry);
+         error = security_inode_readlink(nd.path.dentry);
          if (!error) {
-            touch_atime(nd.mnt, nd.dentry);
-            error = inode->i_op->readlink(nd.dentry, buf, bufsiz);
+            touch_atime(nd.path.mnt, nd.path.dentry);
+            error = inode->i_op->readlink(nd.path.dentry,
+                           buf, bufsiz);
          }
       }
-      path_release(&nd);
+      path_put(&nd.path);
    }
    return error;
 }


Comments: webmaster (at) linuxhq.com.
Advertising: banners (at) linuxhq.com.
Compilation ©1998-2008 Linux Headquarters, Inc.