]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
ubifs: ubifs_jnl_write_inode: Fix a memory leak bug
authorZhihao Cheng <chengzhihao1@huawei.com>
Tue, 3 Mar 2020 09:40:22 +0000 (17:40 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 1 Oct 2020 11:17:51 +0000 (13:17 +0200)
[ Upstream commit 81423c78551654953d746250f1721300b470be0e ]

When inodes with extended attributes are evicted, xent is not freed in one
exit branch.

Signed-off-by: Zhihao Cheng <chengzhihao1@huawei.com>
Fixes: 9ca2d732644484488db3112 ("ubifs: Limit number of xattrs per inode")
Signed-off-by: Richard Weinberger <richard@nod.at>
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/ubifs/journal.c

index a6ae2428e4c963ec00e6f2f3ec728d5a6c3af0f7..5f2ac5ef0891e74e3a311472616df456665f2348 100644 (file)
@@ -906,6 +906,7 @@ int ubifs_jnl_write_inode(struct ubifs_info *c, const struct inode *inode)
                                ubifs_err(c, "dead directory entry '%s', error %d",
                                          xent->name, err);
                                ubifs_ro_mode(c, err);
+                               kfree(xent);
                                goto out_release;
                        }
                        ubifs_assert(c, ubifs_inode(xino)->xattr);