diff options
author | Chris Mason <clm@fb.com> | 2014-05-21 05:49:54 -0700 |
---|---|---|
committer | Jiri Slaby <jslaby@suse.cz> | 2014-07-02 12:06:35 +0200 |
commit | 7855e3447a166f5a24d2b95dc2633f7fb9eb6cc9 (patch) | |
tree | b6019af981d1742b35f2375f31f1242f73628bce /fs/btrfs | |
parent | 9335d6f8b8f53fa6da1cc64b8effe2388d4254dd (diff) |
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>
Diffstat (limited to 'fs/btrfs')
-rw-r--r-- | fs/btrfs/extent_io.c | 1 |
1 files changed, 1 insertions, 0 deletions
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 @@ 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; |