[PATCH 4.9 090/141] ext4: propagate error from dquot_initialize() in EXT4_IOC_FSSETXATTR

From: Greg Kroah-Hartman
Date: Sun Nov 11 2018 - 17:34:44 EST


4.9-stable review patch. If anyone has any objections, please let me know.

------------------

From: Wang Shilong <wshilong@xxxxxxx>

commit 182a79e0c17147d2c2d3990a9a7b6b58a1561c7a upstream.

We return most failure of dquota_initialize() except
inode evict, this could make a bit sense, for example
we allow file removal even quota files are broken?

But it dosen't make sense to allow setting project
if quota files etc are broken.

Signed-off-by: Wang Shilong <wshilong@xxxxxxx>
Signed-off-by: Theodore Ts'o <tytso@xxxxxxx>
Cc: stable@xxxxxxxxxx
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

---
fs/ext4/ioctl.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

--- a/fs/ext4/ioctl.c
+++ b/fs/ext4/ioctl.c
@@ -345,7 +345,9 @@ static int ext4_ioctl_setproject(struct
}
brelse(iloc.bh);

- dquot_initialize(inode);
+ err = dquot_initialize(inode);
+ if (err)
+ return err;

handle = ext4_journal_start(inode, EXT4_HT_QUOTA,
EXT4_QUOTA_INIT_BLOCKS(sb) +