autofs4: fix symlink name allocation
authorIan Kent <raven@themaw.net>
Thu, 24 Jul 2008 04:30:13 +0000 (21:30 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 24 Jul 2008 17:47:31 +0000 (10:47 -0700)
The length of the symlink name has been moved but it needs to be set
before allocating space for it in the dentry info struct.  This corrects a
mistake in a recent patch.

Signed-off-by: Ian Kent <raven@themaw.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
fs/autofs4/root.c

index dbb70d5..324290c 100644 (file)
@@ -775,6 +775,7 @@ static int autofs4_dir_symlink(struct inode *dir,
                list_del_init(&ino->active);
        spin_unlock(&sbi->lookup_lock);
 
+       ino->size = strlen(symname);
        cp = kmalloc(ino->size + 1, GFP_KERNEL);
        if (!cp) {
                if (!dentry->d_fsdata)
@@ -806,7 +807,6 @@ static int autofs4_dir_symlink(struct inode *dir,
                atomic_inc(&p_ino->count);
        ino->inode = inode;
 
-       ino->size = strlen(symname);
        ino->u.symlink = cp;
        dir->i_mtime = CURRENT_TIME;