tree: https://github.com/ammarfaizi2/linux-block google/android/kernel/common/android-4.19-stable head: 22fdca5318397c60f564ba993e10e37af63a2c37 commit: 4c79cf5d012528485d0f2433eddab96b0c116776 [948/9999] ANDROID: Incremental fs: Fix four error-path bugs config: i386-randconfig-s002 compiler: gcc-11 (Debian 11.3.0-8) 11.3.0 reproduce: # apt-get install sparse # sparse version: v0.6.4-39-gce1a6720-dirty # https://github.com/ammarfaizi2/linux-block/commit/4c79cf5d012528485d0f2433eddab96b0c116776 git remote add ammarfaizi2-block https://github.com/ammarfaizi2/linux-block git fetch --no-tags ammarfaizi2-block google/android/kernel/common/android-4.19-stable git checkout 4c79cf5d012528485d0f2433eddab96b0c116776 # save the config file mkdir build_dir && cp config build_dir/.config make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=i386 olddefconfig make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=i386 SHELL=/bin/bash fs/ If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot sparse warnings: (new ones prefixed by >>) fs/incfs/data_mgmt.c: note: in included file: >> fs/incfs/data_mgmt.h:318:44: sparse: sparse: cast truncates bits from constant value (5346434e49 becomes 46434e49) fs/incfs/data_mgmt.c: In function 'incfs_process_new_hash_block': fs/incfs/data_mgmt.c:1026:28: warning: variable 'mi' set but not used [-Wunused-but-set-variable] 1026 | struct mount_info *mi = NULL; | ^~ -- fs/incfs/vfs.c: note: in included file: >> fs/incfs/data_mgmt.h:318:44: sparse: sparse: cast truncates bits from constant value (5346434e49 becomes 46434e49) fs/incfs/vfs.c:1256:48: sparse: sparse: non size-preserving integer to pointer cast fs/incfs/vfs.c:2180:23: sparse: sparse: cast truncates bits from constant value (5346434e49 becomes 46434e49) fs/incfs/vfs.c: In function 'ioctl_create_file': fs/incfs/vfs.c:1256:31: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] 1256 | (u8 __user *)args.signature_info, | ^ In file included from fs/incfs/vfs.c:19: fs/incfs/vfs.c: In function 'incfs_mount_fs': include/uapi/linux/incrementalfs.h:21:28: warning: conversion from 'long long unsigned int' to 'long unsigned int' changes value from '357661101641' to '1178816073' [-Woverflow] 21 | #define INCFS_MAGIC_NUMBER (0x5346434e49ul) | ^ fs/incfs/vfs.c:2180:23: note: in expansion of macro 'INCFS_MAGIC_NUMBER' 2180 | sb->s_magic = INCFS_MAGIC_NUMBER; | ^~~~~~~~~~~~~~~~~~ vim +318 fs/incfs/data_mgmt.h 295 296 /* 297 * Collects pending reads and saves them into the array (reads/reads_size). 298 * Only reads with serial_number > sn_lowerbound are reported. 299 * Returns how many reads were saved into the array. 300 */ 301 int incfs_collect_pending_reads(struct mount_info *mi, int sn_lowerbound, 302 struct incfs_pending_read_info *reads, 303 int reads_size); 304 305 int incfs_collect_logged_reads(struct mount_info *mi, 306 struct read_log_state *start_state, 307 struct incfs_pending_read_info *reads, 308 int reads_size); 309 struct read_log_state incfs_get_log_state(struct mount_info *mi); 310 int incfs_get_uncollected_logs_count(struct mount_info *mi, 311 const struct read_log_state *state); 312 313 static inline struct inode_info *get_incfs_node(struct inode *inode) 314 { 315 if (!inode) 316 return NULL; 317 > 318 if (inode->i_sb->s_magic != (long) INCFS_MAGIC_NUMBER) { 319 /* This inode doesn't belong to us. */ 320 pr_warn_once("incfs: %s on an alien inode.", __func__); 321 return NULL; 322 } 323 324 return container_of(inode, struct inode_info, n_vfs_inode); 325 } 326 -- 0-DAY CI Kernel Test Service https://01.org/lkp