[PATCH] orangefs: fix unused value in __orangefs_setattr

Gustavo A. R. Silva
2019-05-27T17:22:02Z

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 <gustavo@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