lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <202511202058.xwqVHqfx-lkp@intel.com>
Date: Thu, 20 Nov 2025 20:52:06 +0800
From: kernel test robot <lkp@...el.com>
To: griffoul@...il.com, kvm@...r.kernel.org
Cc: oe-kbuild-all@...ts.linux.dev, seanjc@...gle.com, pbonzini@...hat.com,
	vkuznets@...hat.com, shuah@...nel.org, dwmw@...zon.co.uk,
	linux-kselftest@...r.kernel.org, linux-kernel@...r.kernel.org,
	Fred Griffoul <fgriffo@...zon.co.uk>
Subject: Re: [PATCH v2 07/10] KVM: nVMX: Replace evmcs kvm_host_map with
 pfncache

Hi,

kernel test robot noticed the following build warnings:

[auto build test WARNING on kvm/queue]
[also build test WARNING on kvm/next mst-vhost/linux-next linus/master v6.18-rc6 next-20251120]
[cannot apply to kvm/linux-next]
[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/griffoul-gmail-com/KVM-nVMX-Implement-cache-for-L1-MSR-bitmap/20251119-012332
base:   https://git.kernel.org/pub/scm/virt/kvm/kvm.git queue
patch link:    https://lore.kernel.org/r/20251118171113.363528-8-griffoul%40gmail.org
patch subject: [PATCH v2 07/10] KVM: nVMX: Replace evmcs kvm_host_map with pfncache
config: x86_64-randconfig-101-20251120 (https://download.01.org/0day-ci/archive/20251120/202511202058.xwqVHqfx-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/20251120/202511202058.xwqVHqfx-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@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202511202058.xwqVHqfx-lkp@intel.com/

All warnings (new ones prefixed by >>):

>> arch/x86/kvm/vmx/nested.c:1739:13: warning: 'copy_enlightened_to_vmcs12' defined but not used [-Wunused-function]
    1739 | static void copy_enlightened_to_vmcs12(struct vcpu_vmx *vmx,
         |             ^~~~~~~~~~~~~~~~~~~~~~~~~~


vim +/copy_enlightened_to_vmcs12 +1739 arch/x86/kvm/vmx/nested.c

  1738	
> 1739	static void copy_enlightened_to_vmcs12(struct vcpu_vmx *vmx,
  1740					       struct hv_enlightened_vmcs *evmcs,
  1741					       u32 hv_clean_fields)
  1742	{
  1743	#ifdef CONFIG_KVM_HYPERV
  1744		struct vmcs12 *vmcs12 = vmx->nested.cached_vmcs12;
  1745		struct kvm_vcpu_hv *hv_vcpu = to_hv_vcpu(&vmx->vcpu);
  1746	
  1747		/* HV_VMX_ENLIGHTENED_CLEAN_FIELD_NONE */
  1748		vmcs12->tpr_threshold = evmcs->tpr_threshold;
  1749		vmcs12->guest_rip = evmcs->guest_rip;
  1750	
  1751		if (unlikely(!(hv_clean_fields &
  1752			       HV_VMX_ENLIGHTENED_CLEAN_FIELD_ENLIGHTENMENTSCONTROL))) {
  1753			hv_vcpu->nested.pa_page_gpa = evmcs->partition_assist_page;
  1754			hv_vcpu->nested.vm_id = evmcs->hv_vm_id;
  1755			hv_vcpu->nested.vp_id = evmcs->hv_vp_id;
  1756		}
  1757	
  1758		if (unlikely(!(hv_clean_fields &
  1759			       HV_VMX_ENLIGHTENED_CLEAN_FIELD_GUEST_BASIC))) {
  1760			vmcs12->guest_rsp = evmcs->guest_rsp;
  1761			vmcs12->guest_rflags = evmcs->guest_rflags;
  1762			vmcs12->guest_interruptibility_info =
  1763				evmcs->guest_interruptibility_info;
  1764			/*
  1765			 * Not present in struct vmcs12:
  1766			 * vmcs12->guest_ssp = evmcs->guest_ssp;
  1767			 */
  1768		}
  1769	
  1770		if (unlikely(!(hv_clean_fields &
  1771			       HV_VMX_ENLIGHTENED_CLEAN_FIELD_CONTROL_PROC))) {
  1772			vmcs12->cpu_based_vm_exec_control =
  1773				evmcs->cpu_based_vm_exec_control;
  1774		}
  1775	
  1776		if (unlikely(!(hv_clean_fields &
  1777			       HV_VMX_ENLIGHTENED_CLEAN_FIELD_CONTROL_EXCPN))) {
  1778			vmcs12->exception_bitmap = evmcs->exception_bitmap;
  1779		}
  1780	
  1781		if (unlikely(!(hv_clean_fields &
  1782			       HV_VMX_ENLIGHTENED_CLEAN_FIELD_CONTROL_ENTRY))) {
  1783			vmcs12->vm_entry_controls = evmcs->vm_entry_controls;
  1784		}
  1785	
  1786		if (unlikely(!(hv_clean_fields &
  1787			       HV_VMX_ENLIGHTENED_CLEAN_FIELD_CONTROL_EVENT))) {
  1788			vmcs12->vm_entry_intr_info_field =
  1789				evmcs->vm_entry_intr_info_field;
  1790			vmcs12->vm_entry_exception_error_code =
  1791				evmcs->vm_entry_exception_error_code;
  1792			vmcs12->vm_entry_instruction_len =
  1793				evmcs->vm_entry_instruction_len;
  1794		}
  1795	
  1796		if (unlikely(!(hv_clean_fields &
  1797			       HV_VMX_ENLIGHTENED_CLEAN_FIELD_HOST_GRP1))) {
  1798			vmcs12->host_ia32_pat = evmcs->host_ia32_pat;
  1799			vmcs12->host_ia32_efer = evmcs->host_ia32_efer;
  1800			vmcs12->host_cr0 = evmcs->host_cr0;
  1801			vmcs12->host_cr3 = evmcs->host_cr3;
  1802			vmcs12->host_cr4 = evmcs->host_cr4;
  1803			vmcs12->host_ia32_sysenter_esp = evmcs->host_ia32_sysenter_esp;
  1804			vmcs12->host_ia32_sysenter_eip = evmcs->host_ia32_sysenter_eip;
  1805			vmcs12->host_rip = evmcs->host_rip;
  1806			vmcs12->host_ia32_sysenter_cs = evmcs->host_ia32_sysenter_cs;
  1807			vmcs12->host_es_selector = evmcs->host_es_selector;
  1808			vmcs12->host_cs_selector = evmcs->host_cs_selector;
  1809			vmcs12->host_ss_selector = evmcs->host_ss_selector;
  1810			vmcs12->host_ds_selector = evmcs->host_ds_selector;
  1811			vmcs12->host_fs_selector = evmcs->host_fs_selector;
  1812			vmcs12->host_gs_selector = evmcs->host_gs_selector;
  1813			vmcs12->host_tr_selector = evmcs->host_tr_selector;
  1814			vmcs12->host_ia32_perf_global_ctrl = evmcs->host_ia32_perf_global_ctrl;
  1815			/*
  1816			 * Not present in struct vmcs12:
  1817			 * vmcs12->host_ia32_s_cet = evmcs->host_ia32_s_cet;
  1818			 * vmcs12->host_ssp = evmcs->host_ssp;
  1819			 * vmcs12->host_ia32_int_ssp_table_addr = evmcs->host_ia32_int_ssp_table_addr;
  1820			 */
  1821		}
  1822	
  1823		if (unlikely(!(hv_clean_fields &
  1824			       HV_VMX_ENLIGHTENED_CLEAN_FIELD_CONTROL_GRP1))) {
  1825			vmcs12->pin_based_vm_exec_control =
  1826				evmcs->pin_based_vm_exec_control;
  1827			vmcs12->vm_exit_controls = evmcs->vm_exit_controls;
  1828			vmcs12->secondary_vm_exec_control =
  1829				evmcs->secondary_vm_exec_control;
  1830		}
  1831	
  1832		if (unlikely(!(hv_clean_fields &
  1833			       HV_VMX_ENLIGHTENED_CLEAN_FIELD_IO_BITMAP))) {
  1834			vmcs12->io_bitmap_a = evmcs->io_bitmap_a;
  1835			vmcs12->io_bitmap_b = evmcs->io_bitmap_b;
  1836		}
  1837	
  1838		if (unlikely(!(hv_clean_fields &
  1839			       HV_VMX_ENLIGHTENED_CLEAN_FIELD_MSR_BITMAP))) {
  1840			vmcs12->msr_bitmap = evmcs->msr_bitmap;
  1841		}
  1842	
  1843		if (unlikely(!(hv_clean_fields &
  1844			       HV_VMX_ENLIGHTENED_CLEAN_FIELD_GUEST_GRP2))) {
  1845			vmcs12->guest_es_base = evmcs->guest_es_base;
  1846			vmcs12->guest_cs_base = evmcs->guest_cs_base;
  1847			vmcs12->guest_ss_base = evmcs->guest_ss_base;
  1848			vmcs12->guest_ds_base = evmcs->guest_ds_base;
  1849			vmcs12->guest_fs_base = evmcs->guest_fs_base;
  1850			vmcs12->guest_gs_base = evmcs->guest_gs_base;
  1851			vmcs12->guest_ldtr_base = evmcs->guest_ldtr_base;
  1852			vmcs12->guest_tr_base = evmcs->guest_tr_base;
  1853			vmcs12->guest_gdtr_base = evmcs->guest_gdtr_base;
  1854			vmcs12->guest_idtr_base = evmcs->guest_idtr_base;
  1855			vmcs12->guest_es_limit = evmcs->guest_es_limit;
  1856			vmcs12->guest_cs_limit = evmcs->guest_cs_limit;
  1857			vmcs12->guest_ss_limit = evmcs->guest_ss_limit;
  1858			vmcs12->guest_ds_limit = evmcs->guest_ds_limit;
  1859			vmcs12->guest_fs_limit = evmcs->guest_fs_limit;
  1860			vmcs12->guest_gs_limit = evmcs->guest_gs_limit;
  1861			vmcs12->guest_ldtr_limit = evmcs->guest_ldtr_limit;
  1862			vmcs12->guest_tr_limit = evmcs->guest_tr_limit;
  1863			vmcs12->guest_gdtr_limit = evmcs->guest_gdtr_limit;
  1864			vmcs12->guest_idtr_limit = evmcs->guest_idtr_limit;
  1865			vmcs12->guest_es_ar_bytes = evmcs->guest_es_ar_bytes;
  1866			vmcs12->guest_cs_ar_bytes = evmcs->guest_cs_ar_bytes;
  1867			vmcs12->guest_ss_ar_bytes = evmcs->guest_ss_ar_bytes;
  1868			vmcs12->guest_ds_ar_bytes = evmcs->guest_ds_ar_bytes;
  1869			vmcs12->guest_fs_ar_bytes = evmcs->guest_fs_ar_bytes;
  1870			vmcs12->guest_gs_ar_bytes = evmcs->guest_gs_ar_bytes;
  1871			vmcs12->guest_ldtr_ar_bytes = evmcs->guest_ldtr_ar_bytes;
  1872			vmcs12->guest_tr_ar_bytes = evmcs->guest_tr_ar_bytes;
  1873			vmcs12->guest_es_selector = evmcs->guest_es_selector;
  1874			vmcs12->guest_cs_selector = evmcs->guest_cs_selector;
  1875			vmcs12->guest_ss_selector = evmcs->guest_ss_selector;
  1876			vmcs12->guest_ds_selector = evmcs->guest_ds_selector;
  1877			vmcs12->guest_fs_selector = evmcs->guest_fs_selector;
  1878			vmcs12->guest_gs_selector = evmcs->guest_gs_selector;
  1879			vmcs12->guest_ldtr_selector = evmcs->guest_ldtr_selector;
  1880			vmcs12->guest_tr_selector = evmcs->guest_tr_selector;
  1881		}
  1882	
  1883		if (unlikely(!(hv_clean_fields &
  1884			       HV_VMX_ENLIGHTENED_CLEAN_FIELD_CONTROL_GRP2))) {
  1885			vmcs12->tsc_offset = evmcs->tsc_offset;
  1886			vmcs12->virtual_apic_page_addr = evmcs->virtual_apic_page_addr;
  1887			vmcs12->xss_exit_bitmap = evmcs->xss_exit_bitmap;
  1888			vmcs12->encls_exiting_bitmap = evmcs->encls_exiting_bitmap;
  1889			vmcs12->tsc_multiplier = evmcs->tsc_multiplier;
  1890		}
  1891	
  1892		if (unlikely(!(hv_clean_fields &
  1893			       HV_VMX_ENLIGHTENED_CLEAN_FIELD_CRDR))) {
  1894			vmcs12->cr0_guest_host_mask = evmcs->cr0_guest_host_mask;
  1895			vmcs12->cr4_guest_host_mask = evmcs->cr4_guest_host_mask;
  1896			vmcs12->cr0_read_shadow = evmcs->cr0_read_shadow;
  1897			vmcs12->cr4_read_shadow = evmcs->cr4_read_shadow;
  1898			vmcs12->guest_cr0 = evmcs->guest_cr0;
  1899			vmcs12->guest_cr3 = evmcs->guest_cr3;
  1900			vmcs12->guest_cr4 = evmcs->guest_cr4;
  1901			vmcs12->guest_dr7 = evmcs->guest_dr7;
  1902		}
  1903	
  1904		if (unlikely(!(hv_clean_fields &
  1905			       HV_VMX_ENLIGHTENED_CLEAN_FIELD_HOST_POINTER))) {
  1906			vmcs12->host_fs_base = evmcs->host_fs_base;
  1907			vmcs12->host_gs_base = evmcs->host_gs_base;
  1908			vmcs12->host_tr_base = evmcs->host_tr_base;
  1909			vmcs12->host_gdtr_base = evmcs->host_gdtr_base;
  1910			vmcs12->host_idtr_base = evmcs->host_idtr_base;
  1911			vmcs12->host_rsp = evmcs->host_rsp;
  1912		}
  1913	
  1914		if (unlikely(!(hv_clean_fields &
  1915			       HV_VMX_ENLIGHTENED_CLEAN_FIELD_CONTROL_XLAT))) {
  1916			vmcs12->ept_pointer = evmcs->ept_pointer;
  1917			vmcs12->virtual_processor_id = evmcs->virtual_processor_id;
  1918		}
  1919	
  1920		if (unlikely(!(hv_clean_fields &
  1921			       HV_VMX_ENLIGHTENED_CLEAN_FIELD_GUEST_GRP1))) {
  1922			vmcs12->vmcs_link_pointer = evmcs->vmcs_link_pointer;
  1923			vmcs12->guest_ia32_debugctl = evmcs->guest_ia32_debugctl;
  1924			vmcs12->guest_ia32_pat = evmcs->guest_ia32_pat;
  1925			vmcs12->guest_ia32_efer = evmcs->guest_ia32_efer;
  1926			vmcs12->guest_pdptr0 = evmcs->guest_pdptr0;
  1927			vmcs12->guest_pdptr1 = evmcs->guest_pdptr1;
  1928			vmcs12->guest_pdptr2 = evmcs->guest_pdptr2;
  1929			vmcs12->guest_pdptr3 = evmcs->guest_pdptr3;
  1930			vmcs12->guest_pending_dbg_exceptions =
  1931				evmcs->guest_pending_dbg_exceptions;
  1932			vmcs12->guest_sysenter_esp = evmcs->guest_sysenter_esp;
  1933			vmcs12->guest_sysenter_eip = evmcs->guest_sysenter_eip;
  1934			vmcs12->guest_bndcfgs = evmcs->guest_bndcfgs;
  1935			vmcs12->guest_activity_state = evmcs->guest_activity_state;
  1936			vmcs12->guest_sysenter_cs = evmcs->guest_sysenter_cs;
  1937			vmcs12->guest_ia32_perf_global_ctrl = evmcs->guest_ia32_perf_global_ctrl;
  1938			/*
  1939			 * Not present in struct vmcs12:
  1940			 * vmcs12->guest_ia32_s_cet = evmcs->guest_ia32_s_cet;
  1941			 * vmcs12->guest_ia32_lbr_ctl = evmcs->guest_ia32_lbr_ctl;
  1942			 * vmcs12->guest_ia32_int_ssp_table_addr = evmcs->guest_ia32_int_ssp_table_addr;
  1943			 */
  1944		}
  1945	
  1946		/*
  1947		 * Not used?
  1948		 * vmcs12->vm_exit_msr_store_addr = evmcs->vm_exit_msr_store_addr;
  1949		 * vmcs12->vm_exit_msr_load_addr = evmcs->vm_exit_msr_load_addr;
  1950		 * vmcs12->vm_entry_msr_load_addr = evmcs->vm_entry_msr_load_addr;
  1951		 * vmcs12->page_fault_error_code_mask =
  1952		 *		evmcs->page_fault_error_code_mask;
  1953		 * vmcs12->page_fault_error_code_match =
  1954		 *		evmcs->page_fault_error_code_match;
  1955		 * vmcs12->cr3_target_count = evmcs->cr3_target_count;
  1956		 * vmcs12->vm_exit_msr_store_count = evmcs->vm_exit_msr_store_count;
  1957		 * vmcs12->vm_exit_msr_load_count = evmcs->vm_exit_msr_load_count;
  1958		 * vmcs12->vm_entry_msr_load_count = evmcs->vm_entry_msr_load_count;
  1959		 */
  1960	
  1961		/*
  1962		 * Read only fields:
  1963		 * vmcs12->guest_physical_address = evmcs->guest_physical_address;
  1964		 * vmcs12->vm_instruction_error = evmcs->vm_instruction_error;
  1965		 * vmcs12->vm_exit_reason = evmcs->vm_exit_reason;
  1966		 * vmcs12->vm_exit_intr_info = evmcs->vm_exit_intr_info;
  1967		 * vmcs12->vm_exit_intr_error_code = evmcs->vm_exit_intr_error_code;
  1968		 * vmcs12->idt_vectoring_info_field = evmcs->idt_vectoring_info_field;
  1969		 * vmcs12->idt_vectoring_error_code = evmcs->idt_vectoring_error_code;
  1970		 * vmcs12->vm_exit_instruction_len = evmcs->vm_exit_instruction_len;
  1971		 * vmcs12->vmx_instruction_info = evmcs->vmx_instruction_info;
  1972		 * vmcs12->exit_qualification = evmcs->exit_qualification;
  1973		 * vmcs12->guest_linear_address = evmcs->guest_linear_address;
  1974		 *
  1975		 * Not present in struct vmcs12:
  1976		 * vmcs12->exit_io_instruction_ecx = evmcs->exit_io_instruction_ecx;
  1977		 * vmcs12->exit_io_instruction_esi = evmcs->exit_io_instruction_esi;
  1978		 * vmcs12->exit_io_instruction_edi = evmcs->exit_io_instruction_edi;
  1979		 * vmcs12->exit_io_instruction_eip = evmcs->exit_io_instruction_eip;
  1980		 */
  1981	
  1982		return;
  1983	#else /* CONFIG_KVM_HYPERV */
  1984		KVM_BUG_ON(1, vmx->vcpu.kvm);
  1985	#endif /* CONFIG_KVM_HYPERV */
  1986	}
  1987	

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ