Hi Johannes, I love your patch! Perhaps something to improve: [auto build test WARNING on kdave/for-next] [also build test WARNING on v5.8-rc2 next-20200624] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Johannes-Thumshirn/btrfs-pass-checksum-type-via-BTRFS_IOC_FS_INFO-ioctl/20200624-182429 base: https://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-next config: x86_64-randconfig-s021-20200624 (attached as .config) compiler: gcc-9 (Debian 9.3.0-13) 9.3.0 reproduce: # apt-get install sparse # sparse version: v0.6.2-dirty # save the attached .config to linux build tree make W=1 C=1 ARCH=x86_64 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@xxxxxxxxx> sparse warnings: (new ones prefixed by >>) fs/btrfs/ioctl.c:1715:17: sparse: sparse: incompatible types in comparison expression (different address spaces): fs/btrfs/ioctl.c:1715:17: sparse: struct rcu_string [noderef] <asn:4> * fs/btrfs/ioctl.c:1715:17: sparse: struct rcu_string * >> fs/btrfs/ioctl.c:3221:25: sparse: sparse: cast to restricted __le16 fs/btrfs/ioctl.c:3260:40: sparse: sparse: incompatible types in comparison expression (different address spaces): fs/btrfs/ioctl.c:3260:40: sparse: struct rcu_string [noderef] <asn:4> * fs/btrfs/ioctl.c:3260:40: sparse: struct rcu_string * vim +3221 fs/btrfs/ioctl.c 3194 3195 static long btrfs_ioctl_fs_info(struct btrfs_fs_info *fs_info, 3196 void __user *arg) 3197 { 3198 struct btrfs_ioctl_fs_info_args *fi_args; 3199 struct btrfs_device *device; 3200 struct btrfs_fs_devices *fs_devices = fs_info->fs_devices; 3201 int ret = 0; 3202 3203 fi_args = kzalloc(sizeof(*fi_args), GFP_KERNEL); 3204 if (!fi_args) 3205 return -ENOMEM; 3206 3207 rcu_read_lock(); 3208 fi_args->num_devices = fs_devices->num_devices; 3209 3210 list_for_each_entry_rcu(device, &fs_devices->devices, dev_list) { 3211 if (device->devid > fi_args->max_id) 3212 fi_args->max_id = device->devid; 3213 } 3214 rcu_read_unlock(); 3215 3216 memcpy(&fi_args->fsid, fs_devices->fsid, sizeof(fi_args->fsid)); 3217 fi_args->nodesize = fs_info->nodesize; 3218 fi_args->sectorsize = fs_info->sectorsize; 3219 fi_args->clone_alignment = fs_info->sectorsize; 3220 fi_args->csum_type = > 3221 le16_to_cpu(btrfs_super_csum_type(fs_info->super_copy)); 3222 fi_args->flags |= BTRFS_FS_INFO_FLAG_CSUM_TYPE; 3223 3224 if (copy_to_user(arg, fi_args, sizeof(*fi_args))) 3225 ret = -EFAULT; 3226 3227 kfree(fi_args); 3228 return ret; 3229 } 3230 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx
Attachment:
.config.gz
Description: application/gzip
