linux/fs/hfs
Pan Bian 32a57e8f41 hfs: do not free node before using
commit ce96a407ad upstream.

hfs_bmap_free() frees the node via hfs_bnode_put(node).  However, it
then reads node->this when dumping error message on an error path, which
may result in a use-after-free bug.  This patch frees the node only when
it is never again used.

Link: http://lkml.kernel.org/r/1542963889-128825-1-git-send-email-bianpan2016@163.com
Fixes: a1185ffa2fc ("HFS rewrite")
Signed-off-by: Pan Bian <bianpan2016@163.com>
Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
Cc: Joe Perches <joe@perches.com>
Cc: Ernesto A. Fernandez <ernesto.mnd.fernandez@gmail.com>
Cc: Viacheslav Dubeyko <slava@dubeyko.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
History 2019-02-11 17:54:16 +00:00
..
attr.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
bfind.c hfs/hfsplus: convert printks to pr_<level> 2013-04-30 17:04:05 -07:00
bitmap.c hfs/hfsplus: convert dprint to hfs_dbg 2013-04-30 17:04:05 -07:00
bnode.c hfs,hfsplus: cache pages correctly between bnode_create and bnode_free 2015-09-30 13:20:33 +01:00
brec.c hfs: fix B-tree corruption after insertion at position 0 2015-09-30 13:20:34 +01:00
btree.c hfs: do not free node before using 2019-02-11 17:54:16 +00:00
btree.h fs/hfs/btree.h: remove duplicate defines 2013-11-13 12:09:32 +09:00
catalog.c hfs/hfsplus: convert printks to pr_<level> 2013-04-30 17:04:05 -07:00
dir.c [readdir] convert hfs 2013-06-29 12:56:55 +04:00
extent.c hfs/hfsplus: convert dprint to hfs_dbg 2013-04-30 17:04:05 -07:00
hfs.h address hfs on-disk corruption robustness review comments 2008-02-06 10:41:05 -08:00
hfs_fs.h Don't pass inode to ->d_hash() and ->d_compare() 2013-06-29 12:57:36 +04:00
inode.c fs: Give dentry to inode_change_ok() instead of inode 2017-02-23 03:53:52 +00:00
Kconfig fs/hfs: remove depends on CONFIG_EXPERIMENTAL 2013-01-21 14:39:05 -08:00
Makefile Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mdb.c hfs/hfsplus: convert printks to pr_<level> 2013-04-30 17:04:05 -07:00
part_tbl.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
string.c Don't pass inode to ->d_hash() and ->d_compare() 2013-06-29 12:57:36 +04:00
super.c fs: create and use seq_show_option for escaping 2015-09-29 16:44:47 +01:00
sysdep.c stop passing nameidata * to ->d_revalidate() 2012-07-14 16:34:14 +04:00
trans.c hfs: add sanity check for file name length 2011-11-15 14:29:42 -02:00