From 19b3e8b58d2728d6eeb818ce5cdca4c62b638bc0 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Fri, 4 Dec 2015 04:43:42 -0300 Subject: linux-libre-grsec-4.2.6_gnu.201511282239-1: updating version --- libre/linux-libre-grsec/btrfs-overflow.patch | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 libre/linux-libre-grsec/btrfs-overflow.patch (limited to 'libre/linux-libre-grsec/btrfs-overflow.patch') diff --git a/libre/linux-libre-grsec/btrfs-overflow.patch b/libre/linux-libre-grsec/btrfs-overflow.patch new file mode 100644 index 000000000..f879b184b --- /dev/null +++ b/libre/linux-libre-grsec/btrfs-overflow.patch @@ -0,0 +1,26 @@ +diff --git a/fs/btrfs/extent_map.c b/fs/btrfs/extent_map.c +index 6a98bdd..fed3da6 100644 +--- a/fs/btrfs/extent_map.c ++++ b/fs/btrfs/extent_map.c +@@ -235,7 +235,9 @@ static void try_merge_map(struct extent_map_tree *tree, struct extent_map *em) + em->start = merge->start; + em->orig_start = merge->orig_start; + em->len += merge->len; +- em->block_len += merge->block_len; ++ if (em->block_start != EXTENT_MAP_HOLE && ++ em->block_start != EXTENT_MAP_INLINE) ++ em->block_len += merge->block_len; + em->block_start = merge->block_start; + em->mod_len = (em->mod_len + em->mod_start) - merge->mod_start; + em->mod_start = merge->mod_start; +@@ -252,7 +254,9 @@ static void try_merge_map(struct extent_map_tree *tree, struct extent_map *em) + merge = rb_entry(rb, struct extent_map, rb_node); + if (rb && mergable_maps(em, merge)) { + em->len += merge->len; +- em->block_len += merge->block_len; ++ if (em->block_start != EXTENT_MAP_HOLE && ++ em->block_start != EXTENT_MAP_INLINE) ++ em->block_len += merge->block_len; + rb_erase(&merge->rb_node, &tree->map); + RB_CLEAR_NODE(&merge->rb_node); + em->mod_len = (merge->mod_start + merge->mod_len) - em->mod_start; -- cgit v1.2.3-54-g00ecf