* [android-common:android15-6.6 10091/20103] arch/arm64/kvm/hyp/nvhe/iommu/iommu.c:338:17: error: no member named 'end' in 'struct iommu_iotlb_gather'
@ 2024-12-02 5:18 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2024-12-02 5:18 UTC (permalink / raw)
To: cros-kernel-buildreports; +Cc: oe-kbuild-all
Hi Mostafa,
FYI, the error/warning still remains.
tree: https://android.googlesource.com/kernel/common android15-6.6
head: d66e9166bfa175691dd2d0ad7f65c9fec54aa520
commit: c220ef36a11e4fe05cc1e583f8e24d2a61541a87 [10091/20103] ANDROID: KVM: arm64: iommu: support iommu_iotlb_gather
config: arm64-randconfig-004-20241111 (https://download.01.org/0day-ci/archive/20241202/202412021305.4e1AEJod-lkp@intel.com/config)
compiler: clang version 20.0.0git (https://github.com/llvm/llvm-project 592c0fe55f6d9a811028b5f3507be91458ab2713)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241202/202412021305.4e1AEJod-lkp@intel.com/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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202412021305.4e1AEJod-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from arch/arm64/kvm/hyp/nvhe/iommu/iommu.c:8:
In file included from arch/arm64/include/asm/kvm_hyp.h:11:
In file included from include/linux/kvm_host.h:16:
In file included from include/linux/mm.h:2180:
include/linux/vmstat.h:508:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
508 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
509 | item];
| ~~~~
include/linux/vmstat.h:515:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
515 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
516 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
include/linux/vmstat.h:522:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion]
522 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
| ~~~~~~~~~~~ ^ ~~~
include/linux/vmstat.h:527:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
527 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
528 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
include/linux/vmstat.h:536:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
536 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
537 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
arch/arm64/kvm/hyp/nvhe/iommu/iommu.c:85:5: warning: no previous prototype for function 'kvm_iommu_refill' [-Wmissing-prototypes]
85 | int kvm_iommu_refill(struct kvm_hyp_memcache *host_mc)
| ^
arch/arm64/kvm/hyp/nvhe/iommu/iommu.c:85:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
85 | int kvm_iommu_refill(struct kvm_hyp_memcache *host_mc)
| ^
| static
arch/arm64/kvm/hyp/nvhe/iommu/iommu.c:90:6: warning: no previous prototype for function 'kvm_iommu_reclaim' [-Wmissing-prototypes]
90 | void kvm_iommu_reclaim(struct kvm_hyp_memcache *host_mc, int target)
| ^
arch/arm64/kvm/hyp/nvhe/iommu/iommu.c:90:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
90 | void kvm_iommu_reclaim(struct kvm_hyp_memcache *host_mc, int target)
| ^
| static
arch/arm64/kvm/hyp/nvhe/iommu/iommu.c:95:5: warning: no previous prototype for function 'kvm_iommu_reclaimable' [-Wmissing-prototypes]
95 | int kvm_iommu_reclaimable(void)
| ^
arch/arm64/kvm/hyp/nvhe/iommu/iommu.c:95:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
95 | int kvm_iommu_reclaimable(void)
| ^
| static
>> arch/arm64/kvm/hyp/nvhe/iommu/iommu.c:338:17: error: no member named 'end' in 'struct iommu_iotlb_gather'
338 | return gather->end != 0 &&
| ~~~~~~ ^
>> arch/arm64/kvm/hyp/nvhe/iommu/iommu.c:339:22: error: no member named 'start' in 'struct iommu_iotlb_gather'
339 | (end + 1 < gather->start || start > gather->end + 1);
| ~~~~~~ ^
arch/arm64/kvm/hyp/nvhe/iommu/iommu.c:339:47: error: no member named 'end' in 'struct iommu_iotlb_gather'
339 | (end + 1 < gather->start || start > gather->end + 1);
| ~~~~~~ ^
arch/arm64/kvm/hyp/nvhe/iommu/iommu.c:347:14: error: no member named 'start' in 'struct iommu_iotlb_gather'
347 | if (gather->start > iova)
| ~~~~~~ ^
arch/arm64/kvm/hyp/nvhe/iommu/iommu.c:348:11: error: no member named 'start' in 'struct iommu_iotlb_gather'
348 | gather->start = iova;
| ~~~~~~ ^
arch/arm64/kvm/hyp/nvhe/iommu/iommu.c:349:14: error: no member named 'end' in 'struct iommu_iotlb_gather'
349 | if (gather->end < end)
| ~~~~~~ ^
arch/arm64/kvm/hyp/nvhe/iommu/iommu.c:350:11: error: no member named 'end' in 'struct iommu_iotlb_gather'
350 | gather->end = end;
| ~~~~~~ ^
>> arch/arm64/kvm/hyp/nvhe/iommu/iommu.c:358:15: error: no member named 'pgsize' in 'struct iommu_iotlb_gather'
358 | if ((gather->pgsize && gather->pgsize != size) ||
| ~~~~~~ ^
arch/arm64/kvm/hyp/nvhe/iommu/iommu.c:358:33: error: no member named 'pgsize' in 'struct iommu_iotlb_gather'
358 | if ((gather->pgsize && gather->pgsize != size) ||
| ~~~~~~ ^
arch/arm64/kvm/hyp/nvhe/iommu/iommu.c:362:10: error: no member named 'pgsize' in 'struct iommu_iotlb_gather'
362 | gather->pgsize = size;
| ~~~~~~ ^
8 warnings and 10 errors generated.
vim +338 arch/arm64/kvm/hyp/nvhe/iommu/iommu.c
332
333 static bool kvm_iommu_iotlb_gather_is_disjoint(struct iommu_iotlb_gather *gather,
334 unsigned long iova, size_t size)
335 {
336 unsigned long start = iova, end = start + size - 1;
337
> 338 return gather->end != 0 &&
> 339 (end + 1 < gather->start || start > gather->end + 1);
340 }
341
342 static inline void kvm_iommu_iotlb_gather_add_range(struct iommu_iotlb_gather *gather,
343 unsigned long iova, size_t size)
344 {
345 unsigned long end = iova + size - 1;
346
347 if (gather->start > iova)
> 348 gather->start = iova;
349 if (gather->end < end)
350 gather->end = end;
351 }
352
353 void kvm_iommu_iotlb_gather_add_page(void *cookie,
354 struct iommu_iotlb_gather *gather,
355 unsigned long iova,
356 size_t size)
357 {
> 358 if ((gather->pgsize && gather->pgsize != size) ||
359 kvm_iommu_iotlb_gather_is_disjoint(gather, iova, size))
360 kvm_iommu_iotlb_sync(cookie, gather);
361
362 gather->pgsize = size;
363 kvm_iommu_iotlb_gather_add_range(gather, iova, size);
364 }
365
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2024-12-02 5:18 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-12-02 5:18 [android-common:android15-6.6 10091/20103] arch/arm64/kvm/hyp/nvhe/iommu/iommu.c:338:17: error: no member named 'end' in 'struct iommu_iotlb_gather' kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.