ext4: initialize retries variable in ext4_da_write_inline_data_begin()
authorLukas Czerner <lczerner@redhat.com>
Wed, 3 Oct 2018 01:18:45 +0000 (21:18 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 22 Nov 2018 06:32:43 +0000 (07:32 +0100)
commit 625ef8a3acd111d5f496d190baf99d1a815bd03e upstream.

Variable retries is not initialized in ext4_da_write_inline_data_begin()
which can lead to nondeterministic number of retries in case we hit
ENOSPC. Initialize retries to zero as we do everywhere else.

Signed-off-by: Lukas Czerner <lczerner@redhat.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Fixes: bc0ca9df3b2a ("ext4: retry allocation when inline->extent conversion failed")
Cc: stable@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/ext4/inline.c

index fe19a2612b4406981e6ff955fb6467c2fc4b63ea..a555039ba7f3b668d175887635703a2350ba2d03 100644 (file)
@@ -850,7 +850,7 @@ int ext4_da_write_inline_data_begin(struct address_space *mapping,
        handle_t *handle;
        struct page *page;
        struct ext4_iloc iloc;
-       int retries;
+       int retries = 0;
 
        ret = ext4_get_inode_loc(inode, &iloc);
        if (ret)