Use struct path in fs_struct
* Use struct path in fs_struct. Signed-off-by: Andreas Gruenbacher <agruen@suse.de> Signed-off-by: Jan Blunck <jblunck@suse.de> Acked-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
committed by
Linus Torvalds
parent
5dd784d049
commit
6ac08c39a1
+2
-2
@@ -1697,8 +1697,8 @@ void __audit_getname(const char *name)
|
||||
++context->name_count;
|
||||
if (!context->pwd) {
|
||||
read_lock(¤t->fs->lock);
|
||||
context->pwd = dget(current->fs->pwd);
|
||||
context->pwdmnt = mntget(current->fs->pwdmnt);
|
||||
context->pwd = dget(current->fs->pwd.dentry);
|
||||
context->pwdmnt = mntget(current->fs->pwd.mnt);
|
||||
read_unlock(¤t->fs->lock);
|
||||
}
|
||||
|
||||
|
||||
+4
-8
@@ -512,14 +512,10 @@ static void __put_fs_struct(struct fs_struct *fs)
|
||||
{
|
||||
/* No need to hold fs->lock if we are killing it */
|
||||
if (atomic_dec_and_test(&fs->count)) {
|
||||
dput(fs->root);
|
||||
mntput(fs->rootmnt);
|
||||
dput(fs->pwd);
|
||||
mntput(fs->pwdmnt);
|
||||
if (fs->altroot) {
|
||||
dput(fs->altroot);
|
||||
mntput(fs->altrootmnt);
|
||||
}
|
||||
path_put(&fs->root);
|
||||
path_put(&fs->pwd);
|
||||
if (fs->altroot.dentry)
|
||||
path_put(&fs->altroot);
|
||||
kmem_cache_free(fs_cachep, fs);
|
||||
}
|
||||
}
|
||||
|
||||
+9
-9
@@ -600,16 +600,16 @@ static struct fs_struct *__copy_fs_struct(struct fs_struct *old)
|
||||
rwlock_init(&fs->lock);
|
||||
fs->umask = old->umask;
|
||||
read_lock(&old->lock);
|
||||
fs->rootmnt = mntget(old->rootmnt);
|
||||
fs->root = dget(old->root);
|
||||
fs->pwdmnt = mntget(old->pwdmnt);
|
||||
fs->pwd = dget(old->pwd);
|
||||
if (old->altroot) {
|
||||
fs->altrootmnt = mntget(old->altrootmnt);
|
||||
fs->altroot = dget(old->altroot);
|
||||
fs->root = old->root;
|
||||
path_get(&old->root);
|
||||
fs->pwd = old->pwd;
|
||||
path_get(&old->pwd);
|
||||
if (old->altroot.dentry) {
|
||||
fs->altroot = old->altroot;
|
||||
path_get(&old->altroot);
|
||||
} else {
|
||||
fs->altrootmnt = NULL;
|
||||
fs->altroot = NULL;
|
||||
fs->altroot.mnt = NULL;
|
||||
fs->altroot.dentry = NULL;
|
||||
}
|
||||
read_unlock(&old->lock);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user