tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS
head: 773f731853f1368508a0b112047bd9b5a4bb9a5e
commit: 0f0c3021514f52310056c32406b4b760fc9a7e6e [1355/1355] share_pool: Apply sp_group_id_by_pid() to multi-group-mode
config: arm64-randconfig-r133-20241227 (https://download.01.org/0day-ci/archive/20241228/202412282007.9AwBcoM1-lkp@…)
compiler: aarch64-linux-gcc (GCC) 14.2.0
reproduce: (https://download.01.org/0day-ci/archive/20241228/202412282007.9AwBcoM1-lkp@…)
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(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202412282007.9AwBcoM1-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
>> mm/share_pool.c:837:29: sparse: sparse: incompatible types for operation (<=):
mm/share_pool.c:837:29: sparse: int *num
mm/share_pool.c:837:29: sparse: int
mm/share_pool.c: In function 'sp_group_id_by_pid':
mm/share_pool.c:837:29: warning: ordered comparison of pointer with integer zero [-Wextra]
837 | if (!spg_ids || num <= 0)
| ^~
In function 'vmalloc_area_clr_flag',
inlined from 'sp_make_share_k2u' at mm/share_pool.c:2550:8:
mm/share_pool.c:2396:18: warning: 'spa' may be used uninitialized [-Wmaybe-uninitialized]
2396 | spa->kva = 0;
| ~~~~~~~~~^~~
mm/share_pool.c: In function 'sp_make_share_k2u':
mm/share_pool.c:2429:25: note: 'spa' was declared here
2429 | struct sp_area *spa;
| ^~~
mm/share_pool.c:2562:16: warning: 'uva' may be used uninitialized [-Wmaybe-uninitialized]
2562 | return uva;
| ^~~
mm/share_pool.c:2427:15: note: 'uva' was declared here
2427 | void *uva;
| ^~~
mm/share_pool.c:829: warning: Function parameter or member 'spg_ids' not described in 'sp_group_id_by_pid'
mm/share_pool.c:829: warning: Function parameter or member 'num' not described in 'sp_group_id_by_pid'
mm/share_pool.c:2423: warning: duplicate section name 'Return'
vim +837 mm/share_pool.c
815
816 /**
817 * sp_group_id_by_pid() - Get the sp_group ID array of a process.
818 * @pid: pid of target process.
819 * @spg_ids point to an array to save the group ids the process belongs to
820 * @num input the spg_ids array size; output the spg number of the process
821 *
822 * Return:
823 * >0 - the sp_group ID.
824 * -ENODEV - target process doesn't belong to any sp_group.
825 * -EINVAL - spg_ids or num is NULL.
826 * -E2BIG - the num of groups process belongs to is larger than *num
827 */
828 int sp_group_id_by_pid(int pid, int *spg_ids, int *num)
829 {
830 int ret = 0;
831 struct sp_group_node *node;
832 struct sp_group_master *master = NULL;
833 struct task_struct *tsk;
834
835 check_interrupt_context();
836
> 837 if (!spg_ids || num <= 0)
838 return -EINVAL;
839
840 ret = get_task(pid, &tsk);
841 if (ret)
842 return ret;
843
844 down_read(&sp_group_sem);
845 task_lock(tsk);
846 if (tsk->mm)
847 master = tsk->mm->sp_group_master;
848 task_unlock(tsk);
849
850 if (!master) {
851 ret = -ENODEV;
852 goto out_up_read;
853 }
854
855 if (!master->count) {
856 ret = -ENODEV;
857 goto out_up_read;
858 }
859 if ((unsigned int)*num < master->count) {
860 ret = -E2BIG;
861 goto out_up_read;
862 }
863 *num = master->count;
864
865 list_for_each_entry(node, &master->node_list, group_node)
866 *(spg_ids++) = node->spg->id;
867
868 out_up_read:
869 up_read(&sp_group_sem);
870 put_task_struct(tsk);
871 return ret;
872 }
873 EXPORT_SYMBOL_GPL(sp_group_id_by_pid);
874
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS
head: 773f731853f1368508a0b112047bd9b5a4bb9a5e
commit: 4a280fac30d27ae2aff096f9f99aa12d50f83426 [1355/1355] ascend: share_pool: support share pool features for ascend platform
config: arm64-randconfig-r133-20241227 (https://download.01.org/0day-ci/archive/20241228/202412281933.AtwopaHj-lkp@…)
compiler: aarch64-linux-gcc (GCC) 14.2.0
reproduce: (https://download.01.org/0day-ci/archive/20241228/202412281933.AtwopaHj-lkp@…)
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(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202412281933.AtwopaHj-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
mm/gup.c: note: in included file:
>> include/linux/share_pool.h:150:26: sparse: sparse: incorrect type in return expression (different address spaces) @@ expected struct task_struct * @@ got struct task_struct [noderef] __rcu *owner @@
include/linux/share_pool.h:150:26: sparse: expected struct task_struct *
include/linux/share_pool.h:150:26: sparse: got struct task_struct [noderef] __rcu *owner
mm/gup.c:1769:47: sparse: sparse: self-comparison always evaluates to false
mm/gup.c:1794:47: sparse: sparse: self-comparison always evaluates to false
mm/gup.c:1830:6: warning: no previous prototype for 'gup_fast_permitted' [-Wmissing-prototypes]
1830 | bool gup_fast_permitted(unsigned long start, int nr_pages, int write)
| ^~~~~~~~~~~~~~~~~~
vim +150 include/linux/share_pool.h
2facb5901ceebe Ding Tianhong 2021-10-30 146
2facb5901ceebe Ding Tianhong 2021-10-30 147 static inline struct task_struct *sp_get_task(struct mm_struct *mm)
2facb5901ceebe Ding Tianhong 2021-10-30 148 {
2facb5901ceebe Ding Tianhong 2021-10-30 149 if (enable_ascend_share_pool)
2facb5901ceebe Ding Tianhong 2021-10-30 @150 return mm->owner;
2facb5901ceebe Ding Tianhong 2021-10-30 151 else
2facb5901ceebe Ding Tianhong 2021-10-30 152 return current;
2facb5901ceebe Ding Tianhong 2021-10-30 153 }
2facb5901ceebe Ding Tianhong 2021-10-30 154
:::::: The code at line 150 was first introduced by commit
:::::: 2facb5901ceebe6736c0d192ca50be5d26c70ad9 ascend: vmalloc: export new function for share pool
:::::: TO: Ding Tianhong <dingtianhong(a)huawei.com>
:::::: CC: Yang Yingliang <yangyingliang(a)huawei.com>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
tree: https://gitee.com/openeuler/kernel.git OLK-5.10
head: 053a6b6f8e4c86200cdb20bc80c063c3bb119859
commit: 7dad816cb1f8841fda526c0978c10a94793f1178 [2601/2601] anolis: net/smc: Resolve the race between SMC-R link access and clear
config: x86_64-randconfig-121-20241228 (https://download.01.org/0day-ci/archive/20241228/202412281741.d8yDMbp6-lkp@…)
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/20241228/202412281741.d8yDMbp6-lkp@…)
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(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202412281741.d8yDMbp6-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
>> net/smc/smc_core.c:770:6: sparse: sparse: symbol '__smcr_link_clear' was not declared. Should it be static?
vim +/__smcr_link_clear +770 net/smc/smc_core.c
769
> 770 void __smcr_link_clear(struct smc_link *lnk)
771 {
772 smc_wr_free_link_mem(lnk);
773 smc_lgr_put(lnk->lgr); /* lgr_hold in smcr_link_init() */
774 memset(lnk, 0, sizeof(struct smc_link));
775 lnk->state = SMC_LNK_UNUSED;
776 }
777
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki