1515 * @fa: fileattr pointer
1616 * @xflags: FS_XFLAG_* flags
1717 *
18- * Set ->fsx_xflags, ->fsx_valid and ->flags (translated xflags). All
19- * other fields are zeroed.
18+ * Set ->fsx_xflags, ->fsx_valid and ->flags (translated xflags).
2019 */
2120void fileattr_fill_xflags (struct file_kattr * fa , u32 xflags )
2221{
23- memset (fa , 0 , sizeof (* fa ));
2422 fa -> fsx_valid = true;
2523 fa -> fsx_xflags = xflags ;
2624 if (fa -> fsx_xflags & FS_XFLAG_IMMUTABLE )
@@ -39,6 +37,8 @@ void fileattr_fill_xflags(struct file_kattr *fa, u32 xflags)
3937 fa -> flags |= FS_PROJINHERIT_FL ;
4038 if (fa -> fsx_xflags & FS_XFLAG_VERITY )
4139 fa -> flags |= FS_VERITY_FL ;
40+ if (fa -> fsx_xflags & FS_XFLAG_CASEFOLD )
41+ fa -> flags |= FS_CASEFOLD_FL ;
4242}
4343EXPORT_SYMBOL (fileattr_fill_xflags );
4444
@@ -48,11 +48,9 @@ EXPORT_SYMBOL(fileattr_fill_xflags);
4848 * @flags: FS_*_FL flags
4949 *
5050 * Set ->flags, ->flags_valid and ->fsx_xflags (translated flags).
51- * All other fields are zeroed.
5251 */
5352void fileattr_fill_flags (struct file_kattr * fa , u32 flags )
5453{
55- memset (fa , 0 , sizeof (* fa ));
5654 fa -> flags_valid = true;
5755 fa -> flags = flags ;
5856 if (fa -> flags & FS_SYNC_FL )
@@ -71,6 +69,8 @@ void fileattr_fill_flags(struct file_kattr *fa, u32 flags)
7169 fa -> fsx_xflags |= FS_XFLAG_PROJINHERIT ;
7270 if (fa -> flags & FS_VERITY_FL )
7371 fa -> fsx_xflags |= FS_XFLAG_VERITY ;
72+ if (fa -> flags & FS_CASEFOLD_FL )
73+ fa -> fsx_xflags |= FS_XFLAG_CASEFOLD ;
7474}
7575EXPORT_SYMBOL (fileattr_fill_flags );
7676
@@ -325,7 +325,7 @@ int ioctl_setflags(struct file *file, unsigned int __user *argp)
325325{
326326 struct mnt_idmap * idmap = file_mnt_idmap (file );
327327 struct dentry * dentry = file -> f_path .dentry ;
328- struct file_kattr fa ;
328+ struct file_kattr fa = {} ;
329329 unsigned int flags ;
330330 int err ;
331331
@@ -357,7 +357,7 @@ int ioctl_fssetxattr(struct file *file, void __user *argp)
357357{
358358 struct mnt_idmap * idmap = file_mnt_idmap (file );
359359 struct dentry * dentry = file -> f_path .dentry ;
360- struct file_kattr fa ;
360+ struct file_kattr fa = {} ;
361361 int err ;
362362
363363 err = copy_fsxattr_from_user (& fa , argp );
@@ -431,7 +431,7 @@ SYSCALL_DEFINE5(file_setattr, int, dfd, const char __user *, filename,
431431 struct path filepath __free (path_put ) = {};
432432 unsigned int lookup_flags = 0 ;
433433 struct file_attr fattr ;
434- struct file_kattr fa ;
434+ struct file_kattr fa = {} ;
435435 int error ;
436436
437437 BUILD_BUG_ON (sizeof (struct file_attr ) < FILE_ATTR_SIZE_VER0 );
0 commit comments