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-I... 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@i...) 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@i...)
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/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