tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: 1e531b8351b843cd4a160764c0f67e4c9805234d commit: 48fb9af1d04848a2583b2dbf3b7091eca38dd482 [1682/1682] mm: Enhanced copy capabilities for Hygon processor config: x86_64-randconfig-121-20250101 (https://download.01.org/0day-ci/archive/20250101/202501011605.BcpO7rIF-lkp@i...) compiler: gcc-12 (Debian 12.2.0-14) 12.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250101/202501011605.BcpO7rIF-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/202501011605.BcpO7rIF-lkp@intel.com/
All warnings (new ones prefixed by >>):
arch/x86/kernel/cpu/hygon.c:480:6: warning: no previous prototype for 'set_c86_features_para_invalid' [-Wmissing-prototypes]
480 | void set_c86_features_para_invalid(void) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/x86/kernel/cpu/hygon.c:485:14: warning: no previous prototype for 'get_nt_block_copy_mini_len' [-Wmissing-prototypes]
485 | unsigned int get_nt_block_copy_mini_len(void) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ --
arch/x86/kernel/fpu/core.c:466:14: warning: no previous prototype for 'get_fpustate_free_space' [-Wmissing-prototypes]
466 | unsigned int get_fpustate_free_space(struct fpu *fpu) | ^~~~~~~~~~~~~~~~~~~~~~~
sparse warnings: (new ones prefixed by >>)
arch/x86/kernel/cpu/hygon.c:480:6: sparse: sparse: symbol 'set_c86_features_para_invalid' was not declared. Should it be static? arch/x86/kernel/cpu/hygon.c:522:30: sparse: sparse: symbol 'hygon_c86_attr_group' was not declared. Should it be static?
--
arch/x86/kernel/fpu/core.c:466:14: sparse: sparse: symbol 'get_fpustate_free_space' was not declared. Should it be static?
arch/x86/kernel/fpu/core.c:656:39: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@ arch/x86/kernel/fpu/core.c:656:39: sparse: expected struct spinlock [usertype] *lock arch/x86/kernel/fpu/core.c:656:39: sparse: got struct spinlock [noderef] __rcu * arch/x86/kernel/fpu/core.c:660:41: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@ arch/x86/kernel/fpu/core.c:660:41: sparse: expected struct spinlock [usertype] *lock arch/x86/kernel/fpu/core.c:660:41: sparse: got struct spinlock [noderef] __rcu *
vim +/set_c86_features_para_invalid +480 arch/x86/kernel/cpu/hygon.c
479
480 void set_c86_features_para_invalid(void)
481 { 482 memset((void *)&hygon_c86_data, 0, sizeof(struct hygon_c86_info)); 483 } 484
485 unsigned int get_nt_block_copy_mini_len(void)
486 { 487 unsigned int mini_len = hygon_c86_data.nt_cpy_mini_len; 488 489 return mini_len; 490 } 491 EXPORT_SYMBOL_GPL(get_nt_block_copy_mini_len); 492 493 static ssize_t show_nt_cpy_mini_len(struct kobject *kobj, 494 struct kobj_attribute *attr, char *buf) 495 { 496 return snprintf(buf, 40, "%d\n", hygon_c86_data.nt_cpy_mini_len); 497 } 498 499 static ssize_t store_nt_cpy_mini_len(struct kobject *kobj, 500 struct kobj_attribute *attr, 501 const char *buf, size_t count) 502 { 503 unsigned long val; 504 ssize_t ret; 505 506 ret = kstrtoul(buf, 0, &val); 507 if (ret) 508 return ret; 509 510 hygon_c86_data.nt_cpy_mini_len = val; 511 512 return count; 513 } 514 515 static struct kobj_attribute nt_cpy_mini_len_attribute = __ATTR( 516 nt_cpy_mini_len, 0600, show_nt_cpy_mini_len, store_nt_cpy_mini_len); 517 518 static struct attribute *c86_default_attrs[] = { 519 &nt_cpy_mini_len_attribute.attr, NULL 520 }; 521
522 const struct attribute_group hygon_c86_attr_group = {
523 .attrs = c86_default_attrs, 524 .name = "hygon_c86", 525 }; 526