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