* [android-common:android15-6.6 2/2] arch/arm64/kvm/mmu.c:394: warning: Function parameter or member 'kvm' not described in '___unmap_stage2_range'
@ 2026-03-31 8:23 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-03-31 8:23 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 android15-6.6
head: 5fdbbd61a3cbdca7ac1034dc16723bdbc7ece8cc
commit: b66e27a61e1f4f713201f1cd1d475da9309218ae [2/2] ANDROID: KVM: arm64: Unshare pages from __unmap_stage2_range()
config: arm64-allmodconfig (https://download.01.org/0day-ci/archive/20260331/202603311618.n0d8DBCp-lkp@intel.com/config)
compiler: clang version 19.1.7 (https://github.com/llvm/llvm-project cd708029e0b2869e80abe31ddb175f7c35361f90)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260331/202603311618.n0d8DBCp-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/202603311618.n0d8DBCp-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> arch/arm64/kvm/mmu.c:394: warning: Function parameter or member 'kvm' not described in '___unmap_stage2_range'
>> arch/arm64/kvm/mmu.c:394: warning: Function parameter or member 'addr' not described in '___unmap_stage2_range'
>> arch/arm64/kvm/mmu.c:394: warning: expecting prototype for unmap_stage2_range(). Prototype was for ___unmap_stage2_range() instead
vim +394 arch/arm64/kvm/mmu.c
b66e27a61e1f4f arch/arm64/kvm/mmu.c Quentin Perret 2022-07-06 355
363ef89f8e9bce arch/arm/kvm/mmu.c Marc Zyngier 2014-12-19 356 /*
363ef89f8e9bce arch/arm/kvm/mmu.c Marc Zyngier 2014-12-19 357 * Unmapping vs dcache management:
363ef89f8e9bce arch/arm/kvm/mmu.c Marc Zyngier 2014-12-19 358 *
363ef89f8e9bce arch/arm/kvm/mmu.c Marc Zyngier 2014-12-19 359 * If a guest maps certain memory pages as uncached, all writes will
363ef89f8e9bce arch/arm/kvm/mmu.c Marc Zyngier 2014-12-19 360 * bypass the data cache and go directly to RAM. However, the CPUs
363ef89f8e9bce arch/arm/kvm/mmu.c Marc Zyngier 2014-12-19 361 * can still speculate reads (not writes) and fill cache lines with
363ef89f8e9bce arch/arm/kvm/mmu.c Marc Zyngier 2014-12-19 362 * data.
363ef89f8e9bce arch/arm/kvm/mmu.c Marc Zyngier 2014-12-19 363 *
363ef89f8e9bce arch/arm/kvm/mmu.c Marc Zyngier 2014-12-19 364 * Those cache lines will be *clean* cache lines though, so a
363ef89f8e9bce arch/arm/kvm/mmu.c Marc Zyngier 2014-12-19 365 * clean+invalidate operation is equivalent to an invalidate
363ef89f8e9bce arch/arm/kvm/mmu.c Marc Zyngier 2014-12-19 366 * operation, because no cache lines are marked dirty.
363ef89f8e9bce arch/arm/kvm/mmu.c Marc Zyngier 2014-12-19 367 *
363ef89f8e9bce arch/arm/kvm/mmu.c Marc Zyngier 2014-12-19 368 * Those clean cache lines could be filled prior to an uncached write
363ef89f8e9bce arch/arm/kvm/mmu.c Marc Zyngier 2014-12-19 369 * by the guest, and the cache coherent IO subsystem would therefore
363ef89f8e9bce arch/arm/kvm/mmu.c Marc Zyngier 2014-12-19 370 * end up writing old data to disk.
363ef89f8e9bce arch/arm/kvm/mmu.c Marc Zyngier 2014-12-19 371 *
363ef89f8e9bce arch/arm/kvm/mmu.c Marc Zyngier 2014-12-19 372 * This is why right after unmapping a page/section and invalidating
52bae936f0e7be arch/arm64/kvm/mmu.c Will Deacon 2020-09-11 373 * the corresponding TLBs, we flush to make sure the IO subsystem will
52bae936f0e7be arch/arm64/kvm/mmu.c Will Deacon 2020-09-11 374 * never hit in the cache.
e48d53a91f6e90 virt/kvm/arm/mmu.c Marc Zyngier 2018-04-06 375 *
e48d53a91f6e90 virt/kvm/arm/mmu.c Marc Zyngier 2018-04-06 376 * This is all avoided on systems that have ARM64_HAS_STAGE2_FWB, as
e48d53a91f6e90 virt/kvm/arm/mmu.c Marc Zyngier 2018-04-06 377 * we then fully enforce cacheability of RAM, no matter what the guest
e48d53a91f6e90 virt/kvm/arm/mmu.c Marc Zyngier 2018-04-06 378 * does.
363ef89f8e9bce arch/arm/kvm/mmu.c Marc Zyngier 2014-12-19 379 */
7a1c831ee8553b arch/arm/kvm/mmu.c Suzuki K Poulose 2016-03-23 380 /**
7a1c831ee8553b arch/arm/kvm/mmu.c Suzuki K Poulose 2016-03-23 381 * unmap_stage2_range -- Clear stage2 page table entries to unmap a range
c9c0279cc02b4e arch/arm64/kvm/mmu.c Xiaofei Tan 2020-09-17 382 * @mmu: The KVM stage-2 MMU pointer
7a1c831ee8553b arch/arm/kvm/mmu.c Suzuki K Poulose 2016-03-23 383 * @start: The intermediate physical base address of the range to unmap
7a1c831ee8553b arch/arm/kvm/mmu.c Suzuki K Poulose 2016-03-23 384 * @size: The size of the area to unmap
c9c0279cc02b4e arch/arm64/kvm/mmu.c Xiaofei Tan 2020-09-17 385 * @may_block: Whether or not we are permitted to block
7a1c831ee8553b arch/arm/kvm/mmu.c Suzuki K Poulose 2016-03-23 386 *
7a1c831ee8553b arch/arm/kvm/mmu.c Suzuki K Poulose 2016-03-23 387 * 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 388 * 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 389 * destroying the VM), otherwise another faulting VCPU may come in and mess
7a1c831ee8553b arch/arm/kvm/mmu.c Suzuki K Poulose 2016-03-23 390 * with things behind our backs.
7a1c831ee8553b arch/arm/kvm/mmu.c Suzuki K Poulose 2016-03-23 391 */
776adf654a1f64 arch/arm64/kvm/mmu.c Quentin Perret 2022-05-11 392
776adf654a1f64 arch/arm64/kvm/mmu.c Quentin Perret 2022-05-11 393 static int ___unmap_stage2_range(struct kvm *kvm, u64 addr, u64 size)
776adf654a1f64 arch/arm64/kvm/mmu.c Quentin Perret 2022-05-11 @394 {
b66e27a61e1f4f arch/arm64/kvm/mmu.c Quentin Perret 2022-07-06 395 if (!is_protected_kvm_enabled())
776adf654a1f64 arch/arm64/kvm/mmu.c Quentin Perret 2022-05-11 396 return kvm_pgtable_stage2_unmap(kvm->arch.mmu.pgt, addr, size);
b66e27a61e1f4f arch/arm64/kvm/mmu.c Quentin Perret 2022-07-06 397
b66e27a61e1f4f arch/arm64/kvm/mmu.c Quentin Perret 2022-07-06 398 return pkvm_unmap_range(kvm, addr, addr + size);
776adf654a1f64 arch/arm64/kvm/mmu.c Quentin Perret 2022-05-11 399 }
776adf654a1f64 arch/arm64/kvm/mmu.c Quentin Perret 2022-05-11 400
:::::: The code at line 394 was first introduced by commit
:::::: 776adf654a1f64054a76876923c1606224e431cc ANDROID: KVM: arm64: Pass kvm struct to stage2_apply_range()
:::::: TO: Quentin Perret <qperret@google.com>
:::::: CC: Quentin Perret <qperret@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-03-31 8:23 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-31 8:23 [android-common:android15-6.6 2/2] arch/arm64/kvm/mmu.c:394: warning: Function parameter or member 'kvm' 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.