kernel-fxtec-pro1x/fs/btrfs
Qinghuang Feng 7e6628544a Btrfs: open_ctree() error handling can oops on fs_info
a bug in open_ctree:

struct btrfs_root *open_ctree(..)
{
....
	if (!extent_root || !tree_root || !fs_info ||
	    !chunk_root || !dev_root || !csum_root) {
		err = -ENOMEM;
		goto fail;
//When code flow goes to "fail", fs_info may be NULL or uninitialized.
	}
....

fail:
	btrfs_close_devices(fs_info->fs_devices);// !
	btrfs_mapping_tree_free(&fs_info->mapping_tree);// !

	kfree(extent_root);
	kfree(tree_root);
	bdi_destroy(&fs_info->bdi);// !
...
)

Signed-off-by: Qinghuang Feng <qhfeng.kernel@gmail.com>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2009-01-21 10:49:16 -05:00
..
acl.c Btrfs: Fix checkpatch.pl warnings 2009-01-05 21:25:51 -05:00
async-thread.c Btrfs: removed unused #include <version.h>'s 2009-01-21 10:49:16 -05:00
async-thread.h Btrfs: Add ordered async work queues 2008-11-06 22:03:00 -05:00
btrfs_inode.h Btrfs: fix leaking block group on balance 2008-12-11 16:30:39 -05:00
compat.h Btrfs: drop remaining LINUX_KERNEL_VERSION checks and compat code 2009-01-06 09:38:55 -05:00
compression.c Btrfs: removed unused #include <version.h>'s 2009-01-21 10:49:16 -05:00
compression.h Btrfs: Add zlib compression support 2008-10-29 14:49:59 -04:00
crc32c.h Btrfs: Drop the hardware crc32c asm code 2009-01-07 19:56:59 -05:00
ctree.c Btrfs: Fix checkpatch.pl warnings 2009-01-05 21:25:51 -05:00
ctree.h Btrfs: change/remove typedef 2009-01-21 10:49:16 -05:00
dir-item.c Btrfs: Fix checkpatch.pl warnings 2009-01-05 21:25:51 -05:00
disk-io.c Btrfs: open_ctree() error handling can oops on fs_info 2009-01-21 10:49:16 -05:00
disk-io.h Btrfs: superblock duplication 2008-12-08 16:46:26 -05:00
export.c Btrfs: Fix checkpatch.pl warnings 2009-01-05 21:25:51 -05:00
export.h NFS support for btrfs - v3 2008-09-25 11:04:06 -04:00
extent-tree.c Btrfs: fix stop searching test in replace_one_extent 2009-01-21 10:49:16 -05:00
extent_io.c Btrfs: removed unused #include <version.h>'s 2009-01-21 10:49:16 -05:00
extent_io.h Btrfs: fix nodatasum handling in balancing code 2008-12-12 10:03:38 -05:00
extent_map.c Btrfs: removed unused #include <version.h>'s 2009-01-21 10:49:16 -05:00
extent_map.h Btrfs: Fix csum error for compressed data 2008-11-10 07:34:43 -05:00
file-item.c Btrfs: tree logging checksum fixes 2009-01-06 11:42:00 -05:00
file.c Btrfs: removed unused #include <version.h>'s 2009-01-21 10:49:16 -05:00
free-space-cache.c Btrfs: Fix checkpatch.pl warnings 2009-01-05 21:25:51 -05:00
hash.h Switch btrfs_name_hash() to crc32c 2008-09-25 11:04:06 -04:00
inode-item.c Btrfs: make things static and include the right headers 2008-12-02 09:54:17 -05:00
inode-map.c Btrfs: Fix checkpatch.pl warnings 2009-01-05 21:25:51 -05:00
inode.c Btrfs: simplify iteration codes 2009-01-21 10:59:08 -05:00
ioctl.c Btrfs: removed unused #include <version.h>'s 2009-01-21 10:49:16 -05:00
ioctl.h Btrfs: fix ioctl arg size (userland incompatible change!) 2009-01-16 11:59:08 -05:00
locking.c Btrfs: Fix checkpatch.pl warnings 2009-01-05 21:25:51 -05:00
locking.h btrfs_search_slot: reduce lock contention by cowing in two stages 2008-09-25 11:04:06 -04:00
Makefile Btrfs: Add zlib compression support 2008-10-29 14:49:59 -04:00
ordered-data.c Btrfs: simplify iteration codes 2009-01-21 10:59:08 -05:00
ordered-data.h Btrfs: move data checksumming into a dedicated tree 2008-12-08 16:58:54 -05:00
orphan.c Btrfs: Create orphan inode records to prevent lost files after a crash 2008-09-25 11:04:05 -04:00
print-tree.c Btrfs: Fix checkpatch.pl warnings 2009-01-05 21:25:51 -05:00
print-tree.h Btrfs: Create extent_buffer interface for large blocksizes 2008-09-25 11:03:56 -04:00
ref-cache.c Btrfs: Fix checkpatch.pl warnings 2009-01-05 21:25:51 -05:00
ref-cache.h Btrfs: add and improve comments 2008-09-29 15:18:18 -04:00
root-tree.c Btrfs: Fix checkpatch.pl warnings 2009-01-05 21:25:51 -05:00
struct-funcs.c Btrfs: Fix checkpatch.pl warnings 2009-01-05 21:25:51 -05:00
super.c Btrfs: removed unused #include <version.h>'s 2009-01-21 10:49:16 -05:00
sysfs.c Btrfs: Fix checkpatch.pl warnings 2009-01-05 21:25:51 -05:00
transaction.c Btrfs: simplify iteration codes 2009-01-21 10:59:08 -05:00
transaction.h Btrfs: Fix checkpatch.pl warnings 2009-01-05 21:25:51 -05:00
tree-defrag.c Btrfs: Fix checkpatch.pl warnings 2009-01-05 21:25:51 -05:00
tree-log.c Btrfs: explicitly mark the tree log root for writeback 2009-01-09 13:14:17 -05:00
tree-log.h Btrfs: Add a write ahead tree log to optimize synchronous operations 2008-09-25 11:04:07 -04:00
version.h Update Btrfs files for in-kernel usage 2008-09-25 15:41:59 -04:00
version.sh Btrfs: Fixes for 2.6.28-rc API changes 2008-11-19 21:17:22 -05:00
volumes.c Btrfs: simplify iteration codes 2009-01-21 10:59:08 -05:00
volumes.h Btrfs: shared seed device 2008-12-12 10:03:26 -05:00
xattr.c Btrfs: cleanup xattr code 2009-01-21 10:49:16 -05:00
xattr.h Btrfs: optimize btrget/set/removexattr 2008-09-25 11:04:07 -04:00
zlib.c Btrfs: Fix checkpatch.pl warnings 2009-01-05 21:25:51 -05:00