Re: [PATCH v2 2/3] futex: Create set_robust_list2

kernel test robot
2024-11-02T16:41:48Z

Hi André,

kernel test robot noticed the following build warnings:

[auto build test WARNING on tip/locking/core]
[also build test WARNING on tip/sched/core linus/master v6.12-rc5 next-20241101]
[cannot apply to tip/x86/asm]
[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/Andr-Almeida/futex-Use-explicit-sizes-for-compat_exit_robust_list/20241102-002419
base: tip/locking/core
patch link: https://lore.kernel.org/r/20241101162147.284993-3-andrealmeid%40igalia.com
patch subject: [PATCH v2 2/3] futex: Create set_robust_list2
config: i386-randconfig-062-20241102 (https://download.01.org/0day-ci/archive/20241103/202411030038.W5DgvCYP-lkp@intel.com/config)
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/20241103/202411030038.W5DgvCYP-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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202411030038.W5DgvCYP-lkp@intel.com/

sparse warnings: (new ones prefixed by >>)
kernel/futex/core.c:915:59: sparse: sparse: cast removes address space '__user' of expression
kernel/futex/core.c:915:59: sparse: sparse: incorrect type in argument 3 (different address spaces) @@ expected unsigned int [noderef] [usertype] __user *head @@ got unsigned int [usertype] * @@
kernel/futex/core.c:915:59: sparse: expected unsigned int [noderef] [usertype] __user *head
kernel/futex/core.c:915:59: sparse: got unsigned int [usertype] *
kernel/futex/core.c:1108:42: sparse: sparse: cast removes address space '__user' of expression
>> kernel/futex/core.c:1108:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected struct robust_list_head32 [noderef] __user *head @@ got struct robust_list_head32 * @@
kernel/futex/core.c:1108:42: sparse: expected struct robust_list_head32 [noderef] __user *head
kernel/futex/core.c:1108:42: sparse: got struct robust_list_head32 *
kernel/futex/core.c: note: in included file (through include/linux/smp.h, include/linux/alloc_tag.h, include/linux/percpu.h, ...):
include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true

vim +1108 kernel/futex/core.c

1095
1096 static void futex_cleanup(struct task_struct *tsk)
1097 {
1098 struct robust_list2_entry *curr, *n;
1099 struct list_head *list2 = &tsk->robust_list2;
1100
1101 #ifdef CONFIG_64BIT
1102 if (unlikely(tsk->robust_list)) {
1103 exit_robust_list64(tsk, tsk->robust_list);
1104 tsk->robust_list = NULL;
1105 }
1106 #else
1107 if (unlikely(tsk->robust_list)) {
> 1108 exit_robust_list32(tsk, (struct robust_list_head32 *) tsk->robust_list);
1109 tsk->robust_list = NULL;
1110 }
1111 #endif
1112

--
0-DAY CI Kernel Test Service