tree: git://git.samba.org/sfrench/cifs-2.6.git 5.15-backport-8-1-24 head: c931999946e12679e0adc129509a1e23a4a64b5d commit: dcb1e6f4a287802e0f9e1db6a81ea280481b2d4b [579/600] smb: client: stop revalidating reparse points unnecessarily config: i386-randconfig-002-20240803 (https://download.01.org/0day-ci/archive/20240803/202408032149.nYY75Z7B-lkp@xxxxxxxxx/config) compiler: gcc-12 (Debian 12.2.0-14) 12.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240803/202408032149.nYY75Z7B-lkp@xxxxxxxxx/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-kbuild-all/202408032149.nYY75Z7B-lkp@xxxxxxxxx/ All errors (new ones prefixed by >>): In file included from fs/cifs/readdir.c:15: fs/cifs/cifspdu.h:512:17: error: expected specifier-qualifier-list before 'DECLARE_FLEX_ARRAY' 512 | DECLARE_FLEX_ARRAY(unsigned char, EncryptionKey); | ^~~~~~~~~~~~~~~~~~ fs/cifs/cifspdu.h:885:9: error: expected specifier-qualifier-list before 'struct_group' 885 | struct_group(common_attributes, | ^~~~~~~~~~~~ fs/cifs/cifspdu.h:2269:9: error: expected specifier-qualifier-list before 'struct_group' 2269 | struct_group(common_attributes, | ^~~~~~~~~~~~ fs/cifs/cifspdu.h:2332:9: error: expected specifier-qualifier-list before 'DECLARE_FLEX_ARRAY' 2332 | DECLARE_FLEX_ARRAY(char, LinkDest); | ^~~~~~~~~~~~~~~~~~ fs/cifs/cifspdu.h:2381:9: error: expected specifier-qualifier-list before 'DECLARE_FLEX_ARRAY' 2381 | DECLARE_FLEX_ARRAY(__u8, alt_name); | ^~~~~~~~~~~~~~~~~~ fs/cifs/cifspdu.h:2492:17: error: expected specifier-qualifier-list before 'DECLARE_FLEX_ARRAY' 2492 | DECLARE_FLEX_ARRAY(char, FileName); | ^~~~~~~~~~~~~~~~~~ In file included from fs/cifs/cifsglob.h:26, from fs/cifs/readdir.c:16: fs/cifs/../smbfs_common/smb2pdu.h:705:9: error: expected specifier-qualifier-list before 'struct_group' 705 | struct_group(network_open_info, | ^~~~~~~~~~~~ fs/cifs/../smbfs_common/smb2pdu.h:845:17: error: expected specifier-qualifier-list before 'DECLARE_FLEX_ARRAY' 845 | DECLARE_FLEX_ARRAY(struct smb2_lock_element, locks); | ^~~~~~~~~~~~~~~~~~ fs/cifs/../smbfs_common/smb2pdu.h:1686:17: error: expected specifier-qualifier-list before 'DECLARE_FLEX_ARRAY' 1686 | DECLARE_FLEX_ARRAY(char, FileName); | ^~~~~~~~~~~~~~~~~~ In file included from fs/cifs/cifsglob.h:27: fs/cifs/smb2pdu.h:322:9: error: expected specifier-qualifier-list before 'struct_group' 322 | struct_group(network_open_info, | ^~~~~~~~~~~~ fs/cifs/cifsglob.h: In function 'move_cifs_info_to_smb2': fs/cifs/cifsglob.h:2182:45: error: 'FILE_ALL_INFO' has no member named 'AccessFlags' 2182 | memcpy(dst, src, (size_t)((u8 *)&src->AccessFlags - (u8 *)src)); | ^~ fs/cifs/cifsglob.h:2183:31: error: 'FILE_ALL_INFO' has no member named 'AccessFlags' 2183 | dst->AccessFlags = src->AccessFlags; | ^~ fs/cifs/cifsglob.h:2184:37: error: 'FILE_ALL_INFO' has no member named 'CurrentByteOffset' 2184 | dst->CurrentByteOffset = src->CurrentByteOffset; | ^~ fs/cifs/cifsglob.h:2185:24: error: 'FILE_ALL_INFO' has no member named 'Mode' 2185 | dst->Mode = src->Mode; | ^~ fs/cifs/cifsglob.h:2186:40: error: 'FILE_ALL_INFO' has no member named 'AlignmentRequirement' 2186 | dst->AlignmentRequirement = src->AlignmentRequirement; | ^~ fs/cifs/cifsglob.h:2187:34: error: 'FILE_ALL_INFO' has no member named 'FileNameLength' 2187 | dst->FileNameLength = src->FileNameLength; | ^~ fs/cifs/readdir.c: In function 'reparse_inode_match': >> fs/cifs/readdir.c:68:35: error: implicit declaration of function 'inode_get_ctime'; did you mean 'inode_get_bytes'? [-Werror=implicit-function-declaration] 68 | struct timespec64 ctime = inode_get_ctime(inode); | ^~~~~~~~~~~~~~~ | inode_get_bytes >> fs/cifs/readdir.c:68:35: error: invalid initializer fs/cifs/readdir.c: In function 'cifs_fill_dirent_unix': fs/cifs/readdir.c:522:25: error: 'FILE_UNIX_INFO' has no member named 'FileName' 522 | de->name = &info->FileName[0]; | ^~ cc1: some warnings being treated as errors vim +68 fs/cifs/readdir.c 57 58 /* 59 * Match a reparse point inode if reparse tag and ctime haven't changed. 60 * 61 * Windows Server updates ctime of reparse points when their data have changed. 62 * The server doesn't allow changing reparse tags from existing reparse points, 63 * though it's worth checking. 64 */ 65 static inline bool reparse_inode_match(struct inode *inode, 66 struct cifs_fattr *fattr) 67 { > 68 struct timespec64 ctime = inode_get_ctime(inode); 69 70 return (CIFS_I(inode)->cifsAttrs & ATTR_REPARSE) && 71 CIFS_I(inode)->reparse_tag == fattr->cf_cifstag && 72 timespec64_equal(&ctime, &fattr->cf_ctime); 73 } 74 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki