| From 7d78874273463a784759916fc3e0b4e2eb141c70 Mon Sep 17 00:00:00 2001 |
| From: Chris Mason <clm@fb.com> |
| Date: Wed, 21 May 2014 05:49:54 -0700 |
| Subject: Btrfs: fix double free in find_lock_delalloc_range |
| |
| From: Chris Mason <clm@fb.com> |
| |
| 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: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| fs/btrfs/extent_io.c | 1 + |
| 1 file changed, 1 insertion(+) |
| |
| --- a/fs/btrfs/extent_io.c |
| +++ b/fs/btrfs/extent_io.c |
| @@ -1686,6 +1686,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; |