From: Salman Qazi Date: Fri, 1 Jun 2012 03:51:27 +0000 (-0400) Subject: ext4: add ext4_mb_unload_buddy in the error path X-Git-Tag: v3.2.20~42 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=40fb8cb8f59ccca96bc4ab10b64ac24cabba4ddb;p=thirdparty%2Fkernel%2Fstable.git ext4: add ext4_mb_unload_buddy in the error path commit 02b7831019ea4e7994968c84b5826fa8b248ffc8 upstream. ext4_free_blocks fails to pair an ext4_mb_load_buddy with a matching ext4_mb_unload_buddy when it fails a memory allocation. Signed-off-by: Salman Qazi Signed-off-by: "Theodore Ts'o" Signed-off-by: Ben Hutchings --- diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c index e2d8be8f28bfb..382e4fcb6ced7 100644 --- a/fs/ext4/mballoc.c +++ b/fs/ext4/mballoc.c @@ -4693,6 +4693,7 @@ do_more: */ new_entry = kmem_cache_alloc(ext4_free_ext_cachep, GFP_NOFS); if (!new_entry) { + ext4_mb_unload_buddy(&e4b); err = -ENOMEM; goto error_return; }