Commit 8e1cd766 authored by Yan's avatar Yan Committed by Chris Mason

Btrfs: Fix double free and off by one in inode.c

The first change removes  potential double free, the second fix a off
by one error.
Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
parent bab9fb03
...@@ -206,7 +206,6 @@ void btrfs_read_locked_inode(struct inode *inode) ...@@ -206,7 +206,6 @@ void btrfs_read_locked_inode(struct inode *inode)
memcpy(&location, &BTRFS_I(inode)->location, sizeof(location)); memcpy(&location, &BTRFS_I(inode)->location, sizeof(location));
ret = btrfs_lookup_inode(NULL, root, path, &location, 0); ret = btrfs_lookup_inode(NULL, root, path, &location, 0);
if (ret) { if (ret) {
btrfs_free_path(path);
goto make_bad; goto make_bad;
} }
inode_item = btrfs_item_ptr(btrfs_buffer_leaf(path->nodes[0]), inode_item = btrfs_item_ptr(btrfs_buffer_leaf(path->nodes[0]),
...@@ -1536,7 +1535,7 @@ struct extent_map *btrfs_get_extent(struct inode *inode, struct page *page, ...@@ -1536,7 +1535,7 @@ struct extent_map *btrfs_get_extent(struct inode *inode, struct page *page,
flush_dcache_page(result->b_page); flush_dcache_page(result->b_page);
kunmap(page); kunmap(page);
set_extent_uptodate(em_tree, extent_start, set_extent_uptodate(em_tree, extent_start,
extent_end, GFP_NOFS); extent_end - 1, GFP_NOFS);
goto insert; goto insert;
} else { } else {
printk("unkknown found_type %d\n", found_type); printk("unkknown found_type %d\n", found_type);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment