From: Ilya Dryomov Date: Tue, 8 Nov 2011 22:08:15 +0000 (+0200) Subject: Btrfs: avoid null dereference and leaks when bailing from open_ctree() X-Git-Tag: v3.2-rc2~22^2~9^2~2 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4d34b2789538befa45a68a191dc12e0886a69f7d;p=pandora-kernel.git Btrfs: avoid null dereference and leaks when bailing from open_ctree() Fix bugs introduced by 6c41761f. Firstly, after failing to allocate any of the tree roots (first 'goto fail' in open_ctree()) we would dereference a NULL fs_info pointer in free_fs_info(). Secondly, after failures from init_srcu_struct(), setup_bdi() and new_inode() we would leak all earlier allocated roots: fs_info fields haven't been initialized yet so free_fs_info() is rendered useless. Fix this by initializing fs_info pointer and fs_info fields before any allocations happen. Signed-off-by: Ilya Dryomov --- Reading git-diff-tree failed