2021-06-04 10:13:54

by Yang Li

[permalink] [raw]
Subject: [PATCH] ubifs: Fix an error code in ubifs_jnl_write_inode()

When the code executes if (ui->xattr_cnt > ubifs_xattr_max_cnt(c)),
the value of err is 0. However, we can see from the ubifs_err log
that the value of err should be -EPERM.

Clean up smatch warning:
fs/ubifs/journal.c:886 ubifs_jnl_write_inode() warn: missing error code
'err'.

Reported-by: Abaci Robot <[email protected]>
Fixes: 9ca2d7326444 ("ubifs: Limit number of xattrs per inode")
Signed-off-by: Yang Li <[email protected]>
---
fs/ubifs/journal.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/fs/ubifs/journal.c b/fs/ubifs/journal.c
index 2857e64..2307173 100644
--- a/fs/ubifs/journal.c
+++ b/fs/ubifs/journal.c
@@ -882,6 +882,7 @@ int ubifs_jnl_write_inode(struct ubifs_info *c, const struct inode *inode)
struct ubifs_dent_node *xent, *pxent = NULL;

if (ui->xattr_cnt > ubifs_xattr_max_cnt(c)) {
+ err = -EPERM;
ubifs_err(c, "Cannot delete inode, it has too much xattrs!");
goto out_release;
}
--
1.8.3.1