瀏覽代碼

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 年之前
父節點
當前提交
7d78874273
共有 1 個文件被更改,包括 1 次插入0 次删除
  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;