* [android-common:android16-6.12-p3s 2/2] arch/arm64/kvm/mmu.c:378: warning: Function parameter or struct member 'addr' not described in '___unmap_stage2_range'
@ 2026-10-29 14:48 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-10-29 14:48 UTC (permalink / raw)
To: cros-kernel-buildreports; +Cc: oe-kbuild-all
Hi Quentin,
FYI, the error/warning still remains.
tree: https://android.googlesource.com/kernel/common android16-6.12-p3s
head: 606d03f6372c0cd085fc0d154cbfc17c298058f2
commit: fcc111df8789eb3964c040712266abb15c823476 [2/2] ANDROID: KVM: arm64: Unshare pages from __unmap_stage2_range()
config: arm64-allmodconfig (https://download.01.org/0day-ci/archive/20261029/202610292257.ELEb1wQN-lkp@intel.com/config)
compiler: clang version 24.0.0git (https://github.com/llvm/llvm-project c2ea4440d4b64c148de4fdfca1fc2c437a0701e4)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20261029/202610292257.ELEb1wQN-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/202610292257.ELEb1wQN-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> arch/arm64/kvm/mmu.c:378: warning: Function parameter or struct member 'addr' not described in '___unmap_stage2_range'
>> arch/arm64/kvm/mmu.c:378: warning: expecting prototype for __unmap_stage2_range(). Prototype was for ___unmap_stage2_range() instead
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for INTEL_MEI_ME
Depends on [n]: X86 && PCI [=y]
Selected by [m]:
- INTEL_MEI_HDCP [=m] && (DRM_I915 [=n] || DRM_XE [=m])
- INTEL_MEI_PXP [=m] && (DRM_I915 [=n] || DRM_XE [=m])
vim +378 arch/arm64/kvm/mmu.c
fcc111df8789eb arch/arm64/kvm/mmu.c Quentin Perret 2022-07-06 339
363ef89f8e9bce arch/arm/kvm/mmu.c Marc Zyngier 2014-12-19 340 /*
363ef89f8e9bce arch/arm/kvm/mmu.c Marc Zyngier 2014-12-19 341 * Unmapping vs dcache management:
363ef89f8e9bce arch/arm/kvm/mmu.c Marc Zyngier 2014-12-19 342 *
363ef89f8e9bce arch/arm/kvm/mmu.c Marc Zyngier 2014-12-19 343 * If a guest maps certain memory pages as uncached, all writes will
363ef89f8e9bce arch/arm/kvm/mmu.c Marc Zyngier 2014-12-19 344 * bypass the data cache and go directly to RAM. However, the CPUs
363ef89f8e9bce arch/arm/kvm/mmu.c Marc Zyngier 2014-12-19 345 * can still speculate reads (not writes) and fill cache lines with
363ef89f8e9bce arch/arm/kvm/mmu.c Marc Zyngier 2014-12-19 346 * data.
363ef89f8e9bce arch/arm/kvm/mmu.c Marc Zyngier 2014-12-19 347 *
363ef89f8e9bce arch/arm/kvm/mmu.c Marc Zyngier 2014-12-19 348 * Those cache lines will be *clean* cache lines though, so a
363ef89f8e9bce arch/arm/kvm/mmu.c Marc Zyngier 2014-12-19 349 * clean+invalidate operation is equivalent to an invalidate
363ef89f8e9bce arch/arm/kvm/mmu.c Marc Zyngier 2014-12-19 350 * operation, because no cache lines are marked dirty.
363ef89f8e9bce arch/arm/kvm/mmu.c Marc Zyngier 2014-12-19 351 *
363ef89f8e9bce arch/arm/kvm/mmu.c Marc Zyngier 2014-12-19 352 * Those clean cache lines could be filled prior to an uncached write
363ef89f8e9bce arch/arm/kvm/mmu.c Marc Zyngier 2014-12-19 353 * by the guest, and the cache coherent IO subsystem would therefore
363ef89f8e9bce arch/arm/kvm/mmu.c Marc Zyngier 2014-12-19 354 * end up writing old data to disk.
363ef89f8e9bce arch/arm/kvm/mmu.c Marc Zyngier 2014-12-19 355 *
363ef89f8e9bce arch/arm/kvm/mmu.c Marc Zyngier 2014-12-19 356 * This is why right after unmapping a page/section and invalidating
52bae936f0e7be arch/arm64/kvm/mmu.c Will Deacon 2020-09-11 357 * the corresponding TLBs, we flush to make sure the IO subsystem will
52bae936f0e7be arch/arm64/kvm/mmu.c Will Deacon 2020-09-11 358 * never hit in the cache.
e48d53a91f6e90 virt/kvm/arm/mmu.c Marc Zyngier 2018-04-06 359 *
e48d53a91f6e90 virt/kvm/arm/mmu.c Marc Zyngier 2018-04-06 360 * This is all avoided on systems that have ARM64_HAS_STAGE2_FWB, as
e48d53a91f6e90 virt/kvm/arm/mmu.c Marc Zyngier 2018-04-06 361 * we then fully enforce cacheability of RAM, no matter what the guest
e48d53a91f6e90 virt/kvm/arm/mmu.c Marc Zyngier 2018-04-06 362 * does.
363ef89f8e9bce arch/arm/kvm/mmu.c Marc Zyngier 2014-12-19 363 */
7a1c831ee8553b arch/arm/kvm/mmu.c Suzuki K Poulose 2016-03-23 364 /**
ffd9eaffa34d79 arch/arm64/kvm/mmu.c Randy Dunlap 2024-01-17 365 * __unmap_stage2_range -- Clear stage2 page table entries to unmap a range
c9c0279cc02b4e arch/arm64/kvm/mmu.c Xiaofei Tan 2020-09-17 366 * @mmu: The KVM stage-2 MMU pointer
7a1c831ee8553b arch/arm/kvm/mmu.c Suzuki K Poulose 2016-03-23 367 * @start: The intermediate physical base address of the range to unmap
7a1c831ee8553b arch/arm/kvm/mmu.c Suzuki K Poulose 2016-03-23 368 * @size: The size of the area to unmap
c9c0279cc02b4e arch/arm64/kvm/mmu.c Xiaofei Tan 2020-09-17 369 * @may_block: Whether or not we are permitted to block
7a1c831ee8553b arch/arm/kvm/mmu.c Suzuki K Poulose 2016-03-23 370 *
7a1c831ee8553b arch/arm/kvm/mmu.c Suzuki K Poulose 2016-03-23 371 * Clear a range of stage-2 mappings, lowering the various ref-counts. Must
7a1c831ee8553b arch/arm/kvm/mmu.c Suzuki K Poulose 2016-03-23 372 * be called while holding mmu_lock (unless for freeing the stage2 pgd before
7a1c831ee8553b arch/arm/kvm/mmu.c Suzuki K Poulose 2016-03-23 373 * destroying the VM), otherwise another faulting VCPU may come in and mess
7a1c831ee8553b arch/arm/kvm/mmu.c Suzuki K Poulose 2016-03-23 374 * with things behind our backs.
7a1c831ee8553b arch/arm/kvm/mmu.c Suzuki K Poulose 2016-03-23 375 */
80a72f6ae4aa66 arch/arm64/kvm/mmu.c Quentin Perret 2022-05-11 376
80a72f6ae4aa66 arch/arm64/kvm/mmu.c Quentin Perret 2022-05-11 377 static int ___unmap_stage2_range(struct kvm_s2_mmu *mmu, u64 addr, u64 size)
80a72f6ae4aa66 arch/arm64/kvm/mmu.c Quentin Perret 2022-05-11 @378 {
fcc111df8789eb arch/arm64/kvm/mmu.c Quentin Perret 2022-07-06 379 if (!is_protected_kvm_enabled())
80a72f6ae4aa66 arch/arm64/kvm/mmu.c Quentin Perret 2022-05-11 380 return kvm_pgtable_stage2_unmap(mmu->pgt, addr, size);
fcc111df8789eb arch/arm64/kvm/mmu.c Quentin Perret 2022-07-06 381
fcc111df8789eb arch/arm64/kvm/mmu.c Quentin Perret 2022-07-06 382 return pkvm_unmap_range(kvm_s2_mmu_to_kvm(mmu), addr, addr + size);
80a72f6ae4aa66 arch/arm64/kvm/mmu.c Quentin Perret 2022-05-11 383 }
80a72f6ae4aa66 arch/arm64/kvm/mmu.c Quentin Perret 2022-05-11 384
:::::: The code at line 378 was first introduced by commit
:::::: 80a72f6ae4aa66b8fb00a1c8a0d61f054d618003 ANDROID: KVM: amr64: Pass kvm_s2_mmu struct from stage2_apply_range()
:::::: TO: Quentin Perret <qperret@google.com>
:::::: CC: Keir Fraser <keirf@google.com>
--
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:[~2026-10-29 14:49 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-29 14:48 [android-common:android16-6.12-p3s 2/2] arch/arm64/kvm/mmu.c:378: warning: Function parameter or struct member 'addr' not described in '___unmap_stage2_range' 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.