[<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