在 2024/9/26 17:49, Markus Elfring 写道:
From: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Thu, 26 Sep 2024 11:05:29 +0200 An iput(xino) call was immediately used after a return value check for a remove_xattr() call in this function implementation. Thus call such a function only once instead directly before the check. This issue was transformed by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> --- fs/ubifs/xattr.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)
Reviewed-by: Zhihao Cheng <chengzhihao1@xxxxxxxxxx>
diff --git a/fs/ubifs/xattr.c b/fs/ubifs/xattr.c index f734588b224a..7757959e9f09 100644 --- a/fs/ubifs/xattr.c +++ b/fs/ubifs/xattr.c @@ -541,16 +541,14 @@ int ubifs_purge_xattrs(struct inode *host) clear_nlink(xino); err = remove_xattr(c, host, xino, &nm); + iput(xino); if (err) { kfree(pxent); kfree(xent); - iput(xino); ubifs_err(c, "cannot remove xattr, error %d", err); goto out_err; } - iput(xino); - kfree(pxent); pxent = xent; key_read(c, &xent->key, &key); -- 2.46.1 .