All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Jork Loeser <jloeser@linux.microsoft.com>
Cc: oe-kbuild-all@lists.linux.dev, Wei Liu <wei.liu@kernel.org>,
	"Anirudh Rayabharam (Microsoft)" <anirudh@anirudhrb.com>,
	Stanislav Kinsburskii <skinsburskii@linux.microsoft.com>
Subject: [hyperv:hyperv-fixes 4/8] drivers/hv/mshv_synic.c:591:undefined reference to `hv_vmbus_exists'
Date: Fri, 15 May 2026 03:50:30 +0800	[thread overview]
Message-ID: <202605150351.zra956jl-lkp@intel.com> (raw)

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux.git hyperv-fixes
head:   8b35874f56ded0cc1a90a25b87411249a86246cd
commit: f1a9e67c11388965802a61922c313bfc43272afe [4/8] mshv: limit SynIC management to MSHV-owned resources
config: x86_64-randconfig-072-20260514 (https://download.01.org/0day-ci/archive/20260515/202605150351.zra956jl-lkp@intel.com/config)
compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260515/202605150351.zra956jl-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/202605150351.zra956jl-lkp@intel.com/

All errors (new ones prefixed by >>):

   ld: vmlinux.o: in function `mshv_synic_cpu_exit':
>> drivers/hv/mshv_synic.c:591:(.text+0x1f57f97): undefined reference to `hv_vmbus_exists'
   ld: vmlinux.o: in function `mshv_synic_cpu_init':
   drivers/hv/mshv_synic.c:470:(.text+0x1f58229): undefined reference to `hv_vmbus_exists'


vim +591 drivers/hv/mshv_synic.c

   579	
   580	static int mshv_synic_cpu_exit(unsigned int cpu)
   581	{
   582		union hv_synic_sint sint;
   583		union hv_synic_sirbp sirbp;
   584		struct hv_synic_pages *spages = this_cpu_ptr(synic_pages);
   585		struct hv_message_page **msg_page = &spages->hyp_synic_message_page;
   586		struct hv_synic_event_flags_page **event_flags_page =
   587			&spages->synic_event_flags_page;
   588		struct hv_synic_event_ring_page **event_ring_page =
   589			&spages->synic_event_ring_page;
   590		/* VMBus owns SIMP/SIEFP/SCONTROL when it is active */
 > 591		bool vmbus_active = hv_vmbus_exists();
   592	
   593		/* Disable the interrupt */
   594		sint.as_uint64 = hv_get_non_nested_msr(HV_MSR_SINT0 + HV_SYNIC_INTERCEPTION_SINT_INDEX);
   595		sint.masked = true;
   596		hv_set_non_nested_msr(HV_MSR_SINT0 + HV_SYNIC_INTERCEPTION_SINT_INDEX,
   597				      sint.as_uint64);
   598	
   599		/* Disable Doorbell SINT */
   600		sint.as_uint64 = hv_get_non_nested_msr(HV_MSR_SINT0 + HV_SYNIC_DOORBELL_SINT_INDEX);
   601		sint.masked = true;
   602		hv_set_non_nested_msr(HV_MSR_SINT0 + HV_SYNIC_DOORBELL_SINT_INDEX,
   603				      sint.as_uint64);
   604	
   605		if (mshv_sint_irq != -1)
   606			disable_percpu_irq(mshv_sint_irq);
   607	
   608		/* Disable SYNIC event ring page owned by MSHV */
   609		sirbp.as_uint64 = hv_get_non_nested_msr(HV_MSR_SIRBP);
   610		sirbp.sirbp_enabled = false;
   611	
   612		if (hv_root_partition()) {
   613			hv_set_non_nested_msr(HV_MSR_SIRBP, sirbp.as_uint64);
   614			memunmap(*event_ring_page);
   615		} else {
   616			sirbp.base_sirbp_gpa = 0;
   617			hv_set_non_nested_msr(HV_MSR_SIRBP, sirbp.as_uint64);
   618			free_page((unsigned long)*event_ring_page);
   619		}
   620	
   621		/*
   622		 * Release our mappings of the message and event flags pages.
   623		 * When VMBus is not active, we enabled SIMP/SIEFP — disable
   624		 * them. Otherwise VMBus owns the MSRs — leave them.
   625		 */
   626		memunmap(*event_flags_page);
   627		if (!vmbus_active) {
   628			union hv_synic_simp simp;
   629			union hv_synic_siefp siefp;
   630	
   631			siefp.as_uint64 = hv_get_non_nested_msr(HV_MSR_SIEFP);
   632			siefp.siefp_enabled = false;
   633			hv_set_non_nested_msr(HV_MSR_SIEFP, siefp.as_uint64);
   634	
   635			simp.as_uint64 = hv_get_non_nested_msr(HV_MSR_SIMP);
   636			simp.simp_enabled = false;
   637			hv_set_non_nested_msr(HV_MSR_SIMP, simp.as_uint64);
   638		}
   639		memunmap(*msg_page);
   640	
   641		/* When VMBus is active it owns SCONTROL — leave it. */
   642		if (!vmbus_active) {
   643			union hv_synic_scontrol sctrl;
   644	
   645			sctrl.as_uint64 = hv_get_non_nested_msr(HV_MSR_SCONTROL);
   646			sctrl.enable = 0;
   647			hv_set_non_nested_msr(HV_MSR_SCONTROL, sctrl.as_uint64);
   648		}
   649	
   650		return 0;
   651	}
   652	

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

                 reply	other threads:[~2026-05-14 19:51 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202605150351.zra956jl-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=anirudh@anirudhrb.com \
    --cc=jloeser@linux.microsoft.com \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=skinsburskii@linux.microsoft.com \
    --cc=wei.liu@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.