ext2: check err when partial != NULL
authorChengguang Xu <cgxu519@mykernel.net>
Tue, 5 Nov 2019 04:51:00 +0000 (12:51 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 21 Dec 2019 09:42:09 +0000 (10:42 +0100)
commit e705f4b8aa27a59f8933e8f384e9752f052c469c upstream.

Check err when partial == NULL is meaningless because
partial == NULL means getting branch successfully without
error.

CC: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20191105045100.7104-1-cgxu519@mykernel.net
Signed-off-by: Chengguang Xu <cgxu519@mykernel.net>
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/ext2/inode.c

index 85449a6ddc564dfcba455febf406e0587210fce5..fe664949d442831d97e92eb897983da4a4eab085 100644 (file)
@@ -697,10 +697,13 @@ static int ext2_get_blocks(struct inode *inode,
                if (!partial) {
                        count++;
                        mutex_unlock(&ei->truncate_mutex);
-                       if (err)
-                               goto cleanup;
                        goto got_it;
                }
+
+               if (err) {
+                       mutex_unlock(&ei->truncate_mutex);
+                       goto cleanup;
+               }
        }
 
        /*