summaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorQuentin Casasnovas <quentin.casasnovas@oracle.com>2015-03-03 16:31:38 +0100
committerLuis Henriques <luis.henriques@canonical.com>2015-03-18 15:07:11 +0000
commit028a0a83e2e2a0910adfe3e9a5f40b818056a8ed (patch)
tree0e6a4e651cd84fde330349d8f89e1fc34781e889 /fs
parentf8da4b44555812316d587a709d259b24872aee55 (diff)
downloadlinux-stable-028a0a83e2e2a0910adfe3e9a5f40b818056a8ed.tar.gz
linux-stable-028a0a83e2e2a0910adfe3e9a5f40b818056a8ed.tar.bz2
linux-stable-028a0a83e2e2a0910adfe3e9a5f40b818056a8ed.zip
Btrfs:__add_inode_ref: out of bounds memory read when looking for extended ref.
commit dd9ef135e3542ffc621c4eb7f0091870ec7a1504 upstream. Improper arithmetics when calculting the address of the extended ref could lead to an out of bounds memory read and kernel panic. Signed-off-by: Quentin Casasnovas <quentin.casasnovas@oracle.com> Reviewed-by: David Sterba <dsterba@suse.cz> Signed-off-by: Chris Mason <clm@fb.com> Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
Diffstat (limited to 'fs')
-rw-r--r--fs/btrfs/tree-log.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/btrfs/tree-log.c b/fs/btrfs/tree-log.c
index 76bbe6557eb6..0a8194955e6b 100644
--- a/fs/btrfs/tree-log.c
+++ b/fs/btrfs/tree-log.c
@@ -1007,7 +1007,7 @@ again:
base = btrfs_item_ptr_offset(leaf, path->slots[0]);
while (cur_offset < item_size) {
- extref = (struct btrfs_inode_extref *)base + cur_offset;
+ extref = (struct btrfs_inode_extref *)(base + cur_offset);
victim_name_len = btrfs_inode_extref_name_len(leaf, extref);