aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ext4/resize.c
diff options
context:
space:
mode:
authorVasily Averin <vvs@virtuozzo.com>2018-11-06 16:20:40 -0500
committerTheodore Ts'o <tytso@mit.edu>2018-11-06 16:20:40 -0500
commitdb6aee62406d9fbb53315fcddd81f1dc271d49fa (patch)
treef6548f067a3184276e463a0b32c2b208ee001771 /fs/ext4/resize.c
parentext4: fix missing cleanup if ext4_alloc_flex_bg_array() fails while resizing (diff)
downloadlinux-dev-db6aee62406d9fbb53315fcddd81f1dc271d49fa.tar.xz
linux-dev-db6aee62406d9fbb53315fcddd81f1dc271d49fa.zip
ext4: fix possible inode leak in the retry loop of ext4_resize_fs()
Fixes: 1c6bd7173d66 ("ext4: convert file system to meta_bg if needed ...") Signed-off-by: Vasily Averin <vvs@virtuozzo.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu> Cc: stable@kernel.org # 3.7
Diffstat (limited to 'fs/ext4/resize.c')
-rw-r--r--fs/ext4/resize.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/ext4/resize.c b/fs/ext4/resize.c
index 5fee65afd58b..85158e9de7c2 100644
--- a/fs/ext4/resize.c
+++ b/fs/ext4/resize.c
@@ -2058,6 +2058,10 @@ retry:
n_blocks_count_retry = 0;
free_flex_gd(flex_gd);
flex_gd = NULL;
+ if (resize_inode) {
+ iput(resize_inode);
+ resize_inode = NULL;
+ }
goto retry;
}