Add check for the return value of posix_acl_chmod() and
fix unused value bug.

Notice that if this check is not in place, the value in
ret is overwritten at line 913, before it can be used:

913     ret = 0;

Addresses-Coverity-ID: 1445565 ("Unused value")
Fixes: df2d7337b570 ("orangefs: let setattr write to cached inode")
Signed-off-by: Gustavo A. R. Silva <gust...@embeddedor.com>
---
 fs/orangefs/inode.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/fs/orangefs/inode.c b/fs/orangefs/inode.c
index 0c337d8bdaab..3608f183d075 100644
--- a/fs/orangefs/inode.c
+++ b/fs/orangefs/inode.c
@@ -906,9 +906,12 @@ int __orangefs_setattr(struct inode *inode, struct iattr 
*iattr)
        spin_unlock(&inode->i_lock);
        mark_inode_dirty(inode);
 
-       if (iattr->ia_valid & ATTR_MODE)
+       if (iattr->ia_valid & ATTR_MODE) {
                /* change mod on a file that has ACLs */
                ret = posix_acl_chmod(inode, inode->i_mode);
+               if (ret)
+                       goto out;
+       }
 
        ret = 0;
 out:
-- 
2.21.0

Reply via email to