[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202510292227.lgcNjlQ5-lkp@intel.com>
Date: Wed, 29 Oct 2025 22:43:52 +0800
From: kernel test robot <lkp@...el.com>
To: Nuno Das Neves <nunodasneves@...ux.microsoft.com>,
	linux-hyperv@...r.kernel.org, linux-kernel@...r.kernel.org,
	muislam@...rosoft.com
Cc: oe-kbuild-all@...ts.linux.dev, kys@...rosoft.com,
	haiyangz@...rosoft.com, wei.liu@...nel.org, decui@...rosoft.com,
	longli@...rosoft.com, mhklinux@...look.com,
	skinsburskii@...ux.microsoft.com, romank@...ux.microsoft.com,
	Jinank Jain <jinankjain@...rosoft.com>,
	Nuno Das Neves <nunodasneves@...ux.microsoft.com>
Subject: Re: [PATCH] mshv: Extend create partition ioctl to support cpu
 features
Hi Nuno,
kernel test robot noticed the following build errors:
[auto build test ERROR on linus/master]
[also build test ERROR on v6.18-rc3 next-20251029]
[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/Nuno-Das-Neves/mshv-Extend-create-partition-ioctl-to-support-cpu-features/20251029-050748
base:   linus/master
patch link:    https://lore.kernel.org/r/1761685562-6272-1-git-send-email-nunodasneves%40linux.microsoft.com
patch subject: [PATCH] mshv: Extend create partition ioctl to support cpu features
config: arm64-randconfig-r072-20251029 (https://download.01.org/0day-ci/archive/20251029/202510292227.lgcNjlQ5-lkp@intel.com/config)
compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project d1c086e82af239b245fe8d7832f2753436634990)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251029/202510292227.lgcNjlQ5-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/202510292227.lgcNjlQ5-lkp@intel.com/
All errors (new ones prefixed by >>):
>> drivers/hv/mshv_root_main.c:1996:18: error: expected ';' after return statement
    1996 |                         return -EINVAL
         |                                       ^
         |                                       ;
   1 error generated.
vim +1996 drivers/hv/mshv_root_main.c
  1864	
  1865	static_assert(MSHV_NUM_CPU_FEATURES_BANKS <=
  1866		      HV_PARTITION_PROCESSOR_FEATURES_BANKS);
  1867	
  1868	static long mshv_ioctl_process_pt_flags(void __user *user_arg, u64 *pt_flags,
  1869						struct hv_partition_creation_properties *cr_props,
  1870						union hv_partition_isolation_properties *isol_props)
  1871	{
  1872		int i;
  1873		struct mshv_create_partition_v2 args;
  1874		union hv_partition_processor_features *disabled_procs;
  1875		union hv_partition_processor_xsave_features *disabled_xsave;
  1876	
  1877		/* First, copy orig struct in case user is on previous versions */
  1878		if (copy_from_user(&args, user_arg,
  1879				   sizeof(struct mshv_create_partition)))
  1880			return -EFAULT;
  1881	
  1882		if ((args.pt_flags & ~MSHV_PT_FLAGS_MASK) ||
  1883		     args.pt_isolation >= MSHV_PT_ISOLATION_COUNT)
  1884			return -EINVAL;
  1885	
  1886		disabled_procs = &cr_props->disabled_processor_features;
  1887	
  1888		/* Disable all processor features first */
  1889		for (i = 0; i < HV_PARTITION_PROCESSOR_FEATURES_BANKS; i++)
  1890			disabled_procs->as_uint64[i] = -1;
  1891	
  1892	#if IS_ENABLED(CONFIG_X86_64)
  1893		/* Enable default features that are known to be supported */
  1894		disabled_procs->cet_ibt_support = 0;
  1895		disabled_procs->cet_ss_support = 0;
  1896		disabled_procs->smep_support = 0;
  1897		disabled_procs->rdtscp_support = 0;
  1898		disabled_procs->tsc_invariant_support = 0;
  1899		disabled_procs->sse3_support = 0;
  1900		disabled_procs->lahf_sahf_support = 0;
  1901		disabled_procs->ssse3_support = 0;
  1902		disabled_procs->sse4_1_support = 0;
  1903		disabled_procs->sse4_2_support = 0;
  1904		disabled_procs->sse4a_support = 0;
  1905		disabled_procs->xop_support = 0;
  1906		disabled_procs->pop_cnt_support = 0;
  1907		disabled_procs->cmpxchg16b_support = 0;
  1908		disabled_procs->altmovcr8_support = 0;
  1909		disabled_procs->lzcnt_support = 0;
  1910		disabled_procs->mis_align_sse_support = 0;
  1911		disabled_procs->mmx_ext_support = 0;
  1912		disabled_procs->amd3dnow_support = 0;
  1913		disabled_procs->extended_amd3dnow_support = 0;
  1914		disabled_procs->aes_support = 0;
  1915		disabled_procs->pclmulqdq_support = 0;
  1916		disabled_procs->pcid_support = 0;
  1917		disabled_procs->fma4_support = 0;
  1918		disabled_procs->f16c_support = 0;
  1919		disabled_procs->rd_rand_support = 0;
  1920		disabled_procs->rd_wr_fs_gs_support = 0;
  1921		disabled_procs->enhanced_fast_string_support = 0;
  1922		disabled_procs->bmi1_support = 0;
  1923		disabled_procs->bmi2_support = 0;
  1924		disabled_procs->hle_support_deprecated = 0;
  1925		disabled_procs->rtm_support_deprecated = 0;
  1926		disabled_procs->movbe_support = 0;
  1927		disabled_procs->npiep1_support = 0;
  1928		disabled_procs->dep_x87_fpu_save_support = 0;
  1929		disabled_procs->rd_seed_support = 0;
  1930		disabled_procs->adx_support = 0;
  1931		disabled_procs->intel_prefetch_support = 0;
  1932		disabled_procs->smap_support = 0;
  1933		disabled_procs->hle_support = 0;
  1934		disabled_procs->rtm_support = 0;
  1935		disabled_procs->invpcid_support = 0;
  1936		disabled_procs->ibrs_support = 0;
  1937		disabled_procs->stibp_support = 0;
  1938		disabled_procs->mdd_support = 0;
  1939		disabled_procs->ibpb_support = 0;
  1940		disabled_procs->l1dcache_flush_support = 0;
  1941		disabled_procs->virt_spec_ctrl_support = 0;
  1942		disabled_procs->mb_clear_support = 0;
  1943		disabled_procs->tsx_ctrl_support = 0;
  1944		disabled_procs->clflushopt_support = 0;
  1945		disabled_procs->rdcl_no_support = 0;
  1946		disabled_procs->ibrs_all_support = 0;
  1947		disabled_procs->page_1gb_support = 0;
  1948		disabled_procs->skip_l1df_support = 0;
  1949		disabled_procs->ssb_no_support = 0;
  1950		disabled_procs->mbs_no_support = 0;
  1951		disabled_procs->taa_no_support = 0;
  1952		disabled_procs->fb_clear_support = 0;
  1953		disabled_procs->gds_no_support = 0;
  1954		disabled_procs->bhi_no_support = 0;
  1955		disabled_procs->bhi_dis_support = 0;
  1956		disabled_procs->btc_no_support = 0;
  1957		disabled_procs->mitigation_ctrl_support = 0;
  1958		disabled_procs->rfds_no_support = 0;
  1959		disabled_procs->rfds_clear_support = 0;
  1960		disabled_procs->unrestricted_guest_support = 0;
  1961		disabled_procs->fast_short_rep_mov_support = 0;
  1962		disabled_procs->rsb_a_no_support = 0;
  1963		disabled_procs->rd_pid_support = 0;
  1964		disabled_procs->umip_support = 0;
  1965		disabled_procs->vmx_exception_inject_support = 0;
  1966		disabled_procs->rdpru_support = 0;
  1967		disabled_procs->mbec_support = 0;
  1968		disabled_procs->psfd_support = 0;
  1969	
  1970		/* Enable default XSave features that are known to be supported*/
  1971		disabled_xsave = &cr_props->disabled_processor_xsave_features;
  1972		disabled_xsave->as_uint64 = -1;
  1973		disabled_xsave->xsave_support = 0;
  1974		disabled_xsave->xsaveopt_support = 0;
  1975		disabled_xsave->avx_support = 0;
  1976		disabled_xsave->xsave_supervisor_support = 0;
  1977		disabled_xsave->xsave_comp_support = 0;
  1978	#endif
  1979		/* Check if user provided newer struct with feature fields */
  1980		if (args.pt_flags & BIT(MSHV_PT_BIT_CPU_AND_XSAVE_FEATURES)) {
  1981			if (copy_from_user(&args, user_arg, sizeof(args)))
  1982				return -EFAULT;
  1983	
  1984			if (args.pt_num_cpu_fbanks > MSHV_NUM_CPU_FEATURES_BANKS ||
  1985			    mshv_field_nonzero(args, pt_rsvd) ||
  1986			    mshv_field_nonzero(args, pt_rsvd1))
  1987				return -EINVAL;
  1988	
  1989			for (i = 0; i < args.pt_num_cpu_fbanks; i++)
  1990				disabled_procs->as_uint64[i] = args.pt_cpu_fbanks[i];
  1991	
  1992	#if IS_ENABLED(CONFIG_X86_64)
  1993			disabled_xsave->as_uint64 = args.pt_disabled_xsave;
  1994	#else
  1995			if (mshv_field_nonzero(args, pt_rsvd2))
> 1996				return -EINVAL
  1997	#endif
  1998		}
  1999	
  2000		/* Only support EXO partitions */
  2001		*pt_flags = HV_PARTITION_CREATION_FLAG_EXO_PARTITION |
  2002			    HV_PARTITION_CREATION_FLAG_INTERCEPT_MESSAGE_PAGE_ENABLED;
  2003	
  2004		if (args.pt_flags & BIT(MSHV_PT_BIT_LAPIC))
  2005			*pt_flags |= HV_PARTITION_CREATION_FLAG_LAPIC_ENABLED;
  2006		if (args.pt_flags & BIT(MSHV_PT_BIT_X2APIC))
  2007			*pt_flags |= HV_PARTITION_CREATION_FLAG_X2APIC_CAPABLE;
  2008		if (args.pt_flags & BIT(MSHV_PT_BIT_GPA_SUPER_PAGES))
  2009			*pt_flags |= HV_PARTITION_CREATION_FLAG_GPA_SUPER_PAGES_ENABLED;
  2010	
  2011		switch (args.pt_isolation) {
  2012		case MSHV_PT_ISOLATION_NONE:
  2013			isol_props->isolation_type = HV_PARTITION_ISOLATION_TYPE_NONE;
  2014			break;
  2015		case MSHV_PT_ISOLATION_SNP:
  2016			isol_props->isolation_type = HV_PARTITION_ISOLATION_TYPE_SNP;
  2017			break;
  2018		}
  2019	
  2020		return 0;
  2021	}
  2022	
-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Powered by blists - more mailing lists
 
