diff options
author | Mark Brown <broonie@kernel.org> | 2016-02-05 19:31:48 +0000 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2016-02-05 19:31:48 +0000 |
commit | 130faf3765d29c961be74f7245eb504a414a68e2 (patch) | |
tree | df25d9b427876e1b95a3ff8e9f38dddcfce26610 /fs/btrfs/inode.c | |
parent | f90ae1b62bedd8b57966a7be68855f2d43170db6 (diff) | |
parent | 707e840c5e24bb2df1ea4e753964275e257ec816 (diff) |
Merge tag 'v3.18.26' into linux-linaro-lsk-v3.18lsk-v3.18-16.02
Linux 3.18.26
# gpg: Signature made Mon 25 Jan 2016 15:06:44 GMT using RSA key ID 97772CDC
# gpg: requesting key 97772CDC from hkp server the.earth.li
# gpg: key 97772CDC: public key "Sasha Levin <sasha.levin@oracle.com>" imported
# gpg: no ultimately trusted keys found
# gpg: Total number processed: 1
# gpg: imported: 1 (RSA: 1)
# gpg: Good signature from "Sasha Levin <sasha.levin@oracle.com>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the owner.
# Primary key fingerprint: E27E 5D8A 3403 A2EF 6687 3BBC DEA6 6FF7 9777 2CDC
Diffstat (limited to 'fs/btrfs/inode.c')
-rw-r--r-- | fs/btrfs/inode.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index 0be09bb34b75..5db50e8bf52e 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c @@ -1268,8 +1268,14 @@ next_slot: num_bytes = 0; btrfs_item_key_to_cpu(leaf, &found_key, path->slots[0]); - if (found_key.objectid > ino || - found_key.type > BTRFS_EXTENT_DATA_KEY || + if (found_key.objectid > ino) + break; + if (WARN_ON_ONCE(found_key.objectid < ino) || + found_key.type < BTRFS_EXTENT_DATA_KEY) { + path->slots[0]++; + goto next_slot; + } + if (found_key.type > BTRFS_EXTENT_DATA_KEY || found_key.offset > end) break; |