From: Jan Kara Date: Mon, 19 Dec 2022 18:50:14 +0000 (+0100) Subject: udf: Handle error when expanding directory X-Git-Tag: v6.6.7~3540^2~57 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=33e9a53cd9f099b138578f8e1a3d60775ff8cbba;p=platform%2Fkernel%2Flinux-starfive.git udf: Handle error when expanding directory When there is an error when adding extent to the directory to expand it, make sure to propagate the error up properly. This is not expected to happen currently but let's make the code more futureproof. Signed-off-by: Jan Kara --- diff --git a/fs/udf/namei.c b/fs/udf/namei.c index ff9455b..a4e8284 100644 --- a/fs/udf/namei.c +++ b/fs/udf/namei.c @@ -192,8 +192,13 @@ static struct buffer_head *udf_expand_dir_adinicb(struct inode *inode, epos.bh = NULL; epos.block = iinfo->i_location; epos.offset = udf_file_entry_alloc_offset(inode); - udf_add_aext(inode, &epos, &eloc, inode->i_size, 0); + ret = udf_add_aext(inode, &epos, &eloc, inode->i_size, 0); brelse(epos.bh); + if (ret < 0) { + *err = ret; + udf_free_blocks(inode->i_sb, inode, &eloc, 0, 1); + return NULL; + } mark_inode_dirty(inode); /* Now fixup tags in moved directory entries */