From: Josef Bacik Date: Fri, 5 Oct 2012 20:53:34 +0000 (-0400) Subject: Btrfs: fix page leakage X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=f60b1b49f6f72abb8bedfd49b758773bbda043c8;p=openwrt%2Fstaging%2Fblogic.git Btrfs: fix page leakage Alloc_dummy_extent_buffer will not free the first page in the eb array if we fail to allocate a page, fix this. Thanks, Reported-by: David Sterba Signed-off-by: Josef Bacik --- diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c index 7dc69b38548d..64dc93f64bc0 100644 --- a/fs/btrfs/extent_io.c +++ b/fs/btrfs/extent_io.c @@ -4104,7 +4104,7 @@ struct extent_buffer *alloc_dummy_extent_buffer(u64 start, unsigned long len) return eb; err: - for (i--; i > 0; i--) + for (i--; i >= 0; i--) __free_page(eb->pages[i]); __free_extent_buffer(eb); return NULL;