소스 검색

autofs4: fix symlink name allocation

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>
Ian Kent 17 년 전
부모
커밋
ef581a7428
1개의 변경된 파일1개의 추가작업 그리고 1개의 파일을 삭제
  1. 1 1
      fs/autofs4/root.c

+ 1 - 1
fs/autofs4/root.c

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