From 7855e3447a166f5a24d2b95dc2633f7fb9eb6cc9 Mon Sep 17 00:00:00 2001 From: Chris Mason <clm@fb.com> Date: Wed, 21 May 2014 05:49:54 -0700 Subject: [PATCH] Btrfs: fix double free in find_lock_delalloc_range commit 7d78874273463a784759916fc3e0b4e2eb141c70 upstream. We need to NULL the cached_state after freeing it, otherwise we might free it again if find_delalloc_range doesn't find anything. Signed-off-by: Chris Mason <clm@fb.com> Signed-off-by: Jiri Slaby <jslaby@suse.cz> --- fs/btrfs/extent_io.c | 1 + 1 file changed, 1 insertion(+) diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c index 51731b76900d..0d611d1e2e34 100644 --- a/fs/btrfs/extent_io.c +++ b/fs/btrfs/extent_io.c @@ -1645,6 +1645,7 @@ static noinline u64 find_lock_delalloc_range(struct inode *inode, * shortening the size of the delalloc range we're searching */ free_extent_state(cached_state); + cached_state = NULL; if (!loops) { max_bytes = PAGE_CACHE_SIZE; loops = 1; -- 2.30.9