Variable `now` is declared without initialization. The variable could be accessed inside the if-else statements following the variable declaration, before it has been initialized. This patch initializes the variable to `inode_set_ctime_current(inode)` by default. This issue was reported by Coverity Scan. Signed-off-by: Everest K.C. <everestkc@xxxxxxxxxxxxxxxx> --- fs/attr.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/fs/attr.c b/fs/attr.c index c614b954bda5..77523af2e62d 100644 --- a/fs/attr.c +++ b/fs/attr.c @@ -284,7 +284,7 @@ EXPORT_SYMBOL(inode_newsize_ok); static void setattr_copy_mgtime(struct inode *inode, const struct iattr *attr) { unsigned int ia_valid = attr->ia_valid; - struct timespec64 now; + struct timespec64 now = inode_set_ctime_current(inode); if (ia_valid & ATTR_CTIME) { /* @@ -293,8 +293,6 @@ static void setattr_copy_mgtime(struct inode *inode, const struct iattr *attr) */ if (ia_valid & ATTR_DELEG) now = inode_set_ctime_deleg(inode, attr->ia_ctime); - else - now = inode_set_ctime_current(inode); } else { /* If ATTR_CTIME isn't set, then ATTR_MTIME shouldn't be either. */ WARN_ON_ONCE(ia_valid & ATTR_MTIME); -- 2.43.0