Hi Nicolin,
kernel test robot noticed the following build warnings:
[auto build test WARNING on e94dc6ddda8dd3770879a132d577accd2cce25f9]
url: https://github.com/intel-lab-lkp/linux/commits/Nicolin-Chen/iommufd-Keep-OBJ... base: e94dc6ddda8dd3770879a132d577accd2cce25f9 patch link: https://lore.kernel.org/r/03c01be90e53f743a91b6c1376c408404b891867.173623748... patch subject: [PATCH v5 14/14] iommu/arm-smmu-v3: Report events that belong to devices attached to vIOMMU config: arm64-randconfig-r131-20250109 (https://download.01.org/0day-ci/archive/20250109/202501091822.4ocbIobQ-lkp@i...) compiler: clang version 18.1.8 (https://github.com/llvm/llvm-project 3b5b5c1ec4a3095ab096dd780e84d7ab81f3d7ff) reproduce: (https://download.01.org/0day-ci/archive/20250109/202501091822.4ocbIobQ-lkp@i...)
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@intel.com | Closes: https://lore.kernel.org/oe-kbuild-all/202501091822.4ocbIobQ-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-iommufd.c:461:21: sparse: sparse: invalid assignment: &=
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-iommufd.c:461:21: sparse: left side has type restricted __le64 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-iommufd.c:461:21: sparse: right side has type unsigned long long drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-iommufd.c:462:21: sparse: sparse: invalid assignment: |= drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-iommufd.c:462:21: sparse: left side has type restricted __le64 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-iommufd.c:462:21: sparse: right side has type unsigned long long
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-iommufd.c:464:23: sparse: sparse: cast from restricted __le64
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-iommufd.c:465:23: sparse: sparse: cast from restricted __le64
vim +461 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-iommufd.c
455 456 int arm_vmaster_report_event(struct arm_smmu_vmaster *vmaster, u64 *evt) 457 { 458 struct iommu_vevent_arm_smmuv3 vevt = 459 *(struct iommu_vevent_arm_smmuv3 *)evt; 460
461 vevt.evt[0] &= ~EVTQ_0_SID;
462 vevt.evt[0] |= FIELD_PREP(EVTQ_0_SID, vmaster->vsid); 463
464 vevt.evt[0] = cpu_to_le64(vevt.evt[0]);
465 vevt.evt[1] = cpu_to_le64(vevt.evt[1]); 466 467 return iommufd_viommu_report_event(&vmaster->vsmmu->core, 468 IOMMU_VEVENTQ_TYPE_ARM_SMMUV3, &vevt, 469 sizeof(vevt)); 470 } 471