Browse Source

Btrfs: fix double free in find_lock_delalloc_range

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>
cc: stable@vger.kernel.org
Chris Mason 11 years ago
parent
commit
7d78874273
1 changed files with 1 additions and 0 deletions
  1. 1 0
      fs/btrfs/extent_io.c

+ 1 - 0
fs/btrfs/extent_io.c

@@ -1693,6 +1693,7 @@ again:
 		 * 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;