Re: [PATCH] KVM: arm64: Allow module-owned pages in host stage-2 range adjustment
From: kernel test robot
Date: Mon Feb 09 2026 - 12:36:06 EST
Hi,
kernel test robot noticed the following build errors:
[auto build test ERROR on kvmarm/next]
[also build test ERROR on linus/master v6.19 next-20260205]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/kyle-jk-liao-mediatek-com/KVM-arm64-Allow-module-owned-pages-in-host-stage-2-range-adjustment/20260209-112902
base: https://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git next
patch link: https://lore.kernel.org/r/20260209032421.1278325-1-kyle-jk.liao%40mediatek.com
patch subject: [PATCH] KVM: arm64: Allow module-owned pages in host stage-2 range adjustment
config: arm64-defconfig (https://download.01.org/0day-ci/archive/20260210/202602100127.gNjhsGVB-lkp@xxxxxxxxx/config)
compiler: aarch64-linux-gcc (GCC) 15.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260210/202602100127.gNjhsGVB-lkp@xxxxxxxxx/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@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202602100127.gNjhsGVB-lkp@xxxxxxxxx/
All errors (new ones prefixed by >>):
In file included from arch/arm64/include/asm/bug.h:26,
from include/linux/bug.h:5,
from include/linux/thread_info.h:13,
from arch/arm64/include/asm/processor.h:35,
from include/linux/sched.h:13,
from include/linux/resume_user_mode.h:6,
from include/linux/entry-virt.h:6,
from include/linux/kvm_host.h:5,
from arch/arm64/kvm/hyp/nvhe/mem_protect.c:7:
arch/arm64/kvm/hyp/nvhe/mem_protect.c: In function 'host_stage2_adjust_range':
>> arch/arm64/kvm/hyp/nvhe/mem_protect.c:513:74: error: 'PKVM_MODULE_OWNED_PAGE' undeclared (first use in this function)
513 | (state != PKVM_NOPAGE && state != (PKVM_NOPAGE | PKVM_MODULE_OWNED_PAGE)));
| ^~~~~~~~~~~~~~~~~~~~~~
include/asm-generic/bug.h:110:32: note: in definition of macro 'WARN_ON'
110 | int __ret_warn_on = !!(condition); \
| ^~~~~~~~~
arch/arm64/kvm/hyp/nvhe/mem_protect.c:513:74: note: each undeclared identifier is reported only once for each function it appears in
513 | (state != PKVM_NOPAGE && state != (PKVM_NOPAGE | PKVM_MODULE_OWNED_PAGE)));
| ^~~~~~~~~~~~~~~~~~~~~~
include/asm-generic/bug.h:110:32: note: in definition of macro 'WARN_ON'
110 | int __ret_warn_on = !!(condition); \
| ^~~~~~~~~
vim +/PKVM_MODULE_OWNED_PAGE +513 arch/arm64/kvm/hyp/nvhe/mem_protect.c
492
493 static int host_stage2_adjust_range(u64 addr, struct kvm_mem_range *range)
494 {
495 struct kvm_mem_range cur;
496 kvm_pte_t pte;
497 u64 granule;
498 s8 level;
499 int ret;
500 enum pkvm_page_state state;
501
502 hyp_assert_lock_held(&host_mmu.lock);
503 ret = kvm_pgtable_get_leaf(&host_mmu.pgt, addr, &pte, &level);
504 if (ret)
505 return ret;
506
507 if (kvm_pte_valid(pte))
508 return -EAGAIN;
509
510 if (pte) {
511 state = get_host_state(hyp_phys_to_page(addr));
512 WARN_ON(addr_is_memory(addr) &&
> 513 (state != PKVM_NOPAGE && state != (PKVM_NOPAGE | PKVM_MODULE_OWNED_PAGE)));
514 return -EPERM;
515 }
516
517 for (; level <= KVM_PGTABLE_LAST_LEVEL; level++) {
518 if (!kvm_level_supports_block_mapping(level))
519 continue;
520 granule = kvm_granule_size(level);
521 cur.start = ALIGN_DOWN(addr, granule);
522 cur.end = cur.start + granule;
523 if (!range_included(&cur, range))
524 continue;
525 *range = cur;
526 return 0;
527 }
528
529 WARN_ON(1);
530
531 return -EINVAL;
532 }
533
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki