[patch 12/13] fs/affs/super.c: bugfix / double free

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Fabian Frederick <fabf@xxxxxxxxx>
Subject: fs/affs/super.c: bugfix / double free

842a859db26b70 ("affs: use ->kill_sb() to simplify ->put_super() and
failure exits of ->mount()") adds .kill_sb which frees sbi but doesn't
remove sbi free in case of parse_options error causing double free+random
crash.

Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx>
Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx>	[3.14.x]
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
---

 fs/affs/super.c |    2 --
 1 file changed, 2 deletions(-)

diff -puN fs/affs/super.c~fs-affs-superc-bugfix-double-free fs/affs/super.c
--- a/fs/affs/super.c~fs-affs-superc-bugfix-double-free
+++ a/fs/affs/super.c
@@ -340,8 +340,6 @@ static int affs_fill_super(struct super_
 				&blocksize,&sbi->s_prefix,
 				sbi->s_volume, &mount_flags)) {
 		printk(KERN_ERR "AFFS: Error parsing options\n");
-		kfree(sbi->s_prefix);
-		kfree(sbi);
 		return -EINVAL;
 	}
 	/* N.B. after this point s_prefix must be released */
_
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]