CC: [email protected]
BCC: [email protected]
In-Reply-To: <[email protected]>
References: <[email protected]>
TO: Gang Li <[email protected]>
TO: [email protected]
CC: [email protected]
CC: [email protected]
CC: [email protected]
CC: [email protected]
CC: [email protected]
CC: [email protected]
CC: [email protected]
CC: [email protected]
CC: [email protected]
CC: [email protected]
CC: [email protected]
CC: [email protected]
CC: [email protected]
CC: [email protected]
CC: [email protected]
CC: [email protected]
CC: [email protected]
CC: [email protected]
CC: [email protected]
CC: [email protected]
CC: [email protected]
CC: [email protected]
CC: [email protected]
CC: [email protected]
CC: [email protected]
CC: [email protected]
CC: [email protected]
CC: [email protected]
CC: [email protected]

Hi Gang,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on s390/features]
[also build test WARNING on kees/for-next/execve tip/perf/core linus/master 
v5.18-rc6]
[cannot apply to akpm-mm/mm-everything rostedt-trace/for-next next-20220512]
[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]

url:    
https://github.com/intel-lab-lkp/linux/commits/Gang-Li/mm-oom-Introduce-per-numa-node-oom-for-CONSTRAINT_MEMORY_POLICY/20220512-124948
base:   https://git.kernel.org/pub/scm/linux/kernel/git/s390/linux.git features
:::::: branch date: 16 hours ago
:::::: commit date: 16 hours ago
config: x86_64-randconfig-s022 
(https://download.01.org/0day-ci/archive/20220513/[email protected]/config)
compiler: gcc-11 (Debian 11.2.0-20) 11.2.0
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.4-dirty
        # 
https://github.com/intel-lab-lkp/linux/commit/3e724f844e3fe45cdffd9f359d140a424aeb462c
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review 
Gang-Li/mm-oom-Introduce-per-numa-node-oom-for-CONSTRAINT_MEMORY_POLICY/20220512-124948
        git checkout 3e724f844e3fe45cdffd9f359d140a424aeb462c
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir 
ARCH=x86_64 SHELL=/bin/bash

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>


sparse warnings: (new ones prefixed by >>)
>> kernel/fork.c:1110:1: sparse: sparse: unused label 'free_stack'
>> kernel/fork.c:878:6: sparse: sparse: symbol 'rss_stat_free' was not 
>> declared. Should it be static?
   kernel/fork.c:1366:24: sparse: sparse: incorrect type in initializer 
(different address spaces) @@     expected struct file [noderef] __rcu *__ret 
@@     got struct file *new_exe_file @@
   kernel/fork.c:1366:24: sparse:     expected struct file [noderef] __rcu 
*__ret
   kernel/fork.c:1366:24: sparse:     got struct file *new_exe_file
   kernel/fork.c:1366:22: sparse: sparse: incorrect type in assignment 
(different address spaces) @@     expected struct file *[assigned] old_exe_file 
@@     got struct file [noderef] __rcu *[assigned] __ret @@
   kernel/fork.c:1366:22: sparse:     expected struct file *[assigned] 
old_exe_file
   kernel/fork.c:1366:22: sparse:     got struct file [noderef] __rcu 
*[assigned] __ret
   kernel/fork.c:1697:38: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct refcount_struct [usertype] *r 
@@     got struct refcount_struct [noderef] __rcu * @@
   kernel/fork.c:1697:38: sparse:     expected struct refcount_struct 
[usertype] *r
   kernel/fork.c:1697:38: sparse:     got struct refcount_struct [noderef] 
__rcu *
   kernel/fork.c:1706:31: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct spinlock [usertype] *lock @@  
   got struct spinlock [noderef] __rcu * @@
   kernel/fork.c:1706:31: sparse:     expected struct spinlock [usertype] *lock
   kernel/fork.c:1706:31: sparse:     got struct spinlock [noderef] __rcu *
   kernel/fork.c:1707:9: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected void const * @@     got struct 
k_sigaction [noderef] __rcu * @@
   kernel/fork.c:1707:9: sparse:     expected void const *
   kernel/fork.c:1707:9: sparse:     got struct k_sigaction [noderef] __rcu *
   kernel/fork.c:1707:9: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected void const * @@     got struct 
k_sigaction [noderef] __rcu * @@
   kernel/fork.c:1707:9: sparse:     expected void const *
   kernel/fork.c:1707:9: sparse:     got struct k_sigaction [noderef] __rcu *
   kernel/fork.c:1707:9: sparse: sparse: incorrect type in argument 2 
(different address spaces) @@     expected void const * @@     got struct 
k_sigaction [noderef] __rcu * @@
   kernel/fork.c:1707:9: sparse:     expected void const *
   kernel/fork.c:1707:9: sparse:     got struct k_sigaction [noderef] __rcu *
   kernel/fork.c:1708:33: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct spinlock [usertype] *lock @@  
   got struct spinlock [noderef] __rcu * @@
   kernel/fork.c:1708:33: sparse:     expected struct spinlock [usertype] *lock
   kernel/fork.c:1708:33: sparse:     got struct spinlock [noderef] __rcu *
   kernel/fork.c:1801:9: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct qspinlock *lock @@     got 
struct qspinlock [noderef] __rcu * @@
   kernel/fork.c:1801:9: sparse:     expected struct qspinlock *lock
   kernel/fork.c:1801:9: sparse:     got struct qspinlock [noderef] __rcu *
   kernel/fork.c:2120:31: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct spinlock [usertype] *lock @@  
   got struct spinlock [noderef] __rcu * @@
   kernel/fork.c:2120:31: sparse:     expected struct spinlock [usertype] *lock
   kernel/fork.c:2120:31: sparse:     got struct spinlock [noderef] __rcu *
   kernel/fork.c:2124:33: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct spinlock [usertype] *lock @@  
   got struct spinlock [noderef] __rcu * @@
   kernel/fork.c:2124:33: sparse:     expected struct spinlock [usertype] *lock
   kernel/fork.c:2124:33: sparse:     got struct spinlock [noderef] __rcu *
   kernel/fork.c:2443:32: sparse: sparse: incorrect type in assignment 
(different address spaces) @@     expected struct task_struct [noderef] __rcu 
*real_parent @@     got struct task_struct * @@
   kernel/fork.c:2443:32: sparse:     expected struct task_struct [noderef] 
__rcu *real_parent
   kernel/fork.c:2443:32: sparse:     got struct task_struct *
   kernel/fork.c:2452:27: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct spinlock [usertype] *lock @@  
   got struct spinlock [noderef] __rcu * @@
   kernel/fork.c:2452:27: sparse:     expected struct spinlock [usertype] *lock
   kernel/fork.c:2452:27: sparse:     got struct spinlock [noderef] __rcu *
   kernel/fork.c:2497:54: sparse: sparse: incorrect type in argument 2 
(different address spaces) @@     expected struct list_head *head @@     got 
struct list_head [noderef] __rcu * @@
   kernel/fork.c:2497:54: sparse:     expected struct list_head *head
   kernel/fork.c:2497:54: sparse:     got struct list_head [noderef] __rcu *
   kernel/fork.c:2518:29: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct spinlock [usertype] *lock @@  
   got struct spinlock [noderef] __rcu * @@
   kernel/fork.c:2518:29: sparse:     expected struct spinlock [usertype] *lock
   kernel/fork.c:2518:29: sparse:     got struct spinlock [noderef] __rcu *
   kernel/fork.c:2539:29: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct spinlock [usertype] *lock @@  
   got struct spinlock [noderef] __rcu * @@
   kernel/fork.c:2539:29: sparse:     expected struct spinlock [usertype] *lock
   kernel/fork.c:2539:29: sparse:     got struct spinlock [noderef] __rcu *
   kernel/fork.c:2566:28: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct sighand_struct *sighand @@    
 got struct sighand_struct [noderef] __rcu *sighand @@
   kernel/fork.c:2566:28: sparse:     expected struct sighand_struct *sighand
   kernel/fork.c:2566:28: sparse:     got struct sighand_struct [noderef] __rcu 
*sighand
   kernel/fork.c:2595:31: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct spinlock [usertype] *lock @@  
   got struct spinlock [noderef] __rcu * @@
   kernel/fork.c:2595:31: sparse:     expected struct spinlock [usertype] *lock
   kernel/fork.c:2595:31: sparse:     got struct spinlock [noderef] __rcu *
   kernel/fork.c:2597:33: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct spinlock [usertype] *lock @@  
   got struct spinlock [noderef] __rcu * @@
   kernel/fork.c:2597:33: sparse:     expected struct spinlock [usertype] *lock
   kernel/fork.c:2597:33: sparse:     got struct spinlock [noderef] __rcu *
   kernel/fork.c:3006:24: sparse: sparse: incorrect type in assignment 
(different address spaces) @@     expected struct task_struct *[assigned] 
parent @@     got struct task_struct [noderef] __rcu *real_parent @@
   kernel/fork.c:3006:24: sparse:     expected struct task_struct *[assigned] 
parent
   kernel/fork.c:3006:24: sparse:     got struct task_struct [noderef] __rcu 
*real_parent
   kernel/fork.c:3087:43: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct refcount_struct const 
[usertype] *r @@     got struct refcount_struct [noderef] __rcu * @@
   kernel/fork.c:3087:43: sparse:     expected struct refcount_struct const 
[usertype] *r
   kernel/fork.c:3087:43: sparse:     got struct refcount_struct [noderef] 
__rcu *
   kernel/fork.c:2162:22: sparse: sparse: dereference of noderef expression
   kernel/fork.c: note: in included file (through 
include/uapi/asm-generic/bpf_perf_event.h, 
arch/x86/include/generated/uapi/asm/bpf_perf_event.h, ...):
   include/linux/ptrace.h:217:45: sparse: sparse: incorrect type in argument 2 
(different address spaces) @@     expected struct task_struct *new_parent @@    
 got struct task_struct [noderef] __rcu *parent @@
   include/linux/ptrace.h:217:45: sparse:     expected struct task_struct 
*new_parent
   include/linux/ptrace.h:217:45: sparse:     got struct task_struct [noderef] 
__rcu *parent
   include/linux/ptrace.h:217:62: sparse: sparse: incorrect type in argument 3 
(different address spaces) @@     expected struct cred const *ptracer_cred @@   
  got struct cred const [noderef] __rcu *ptracer_cred @@
   include/linux/ptrace.h:217:62: sparse:     expected struct cred const 
*ptracer_cred
   include/linux/ptrace.h:217:62: sparse:     got struct cred const [noderef] 
__rcu *ptracer_cred
   kernel/fork.c:2495:59: sparse: sparse: dereference of noderef expression
   kernel/fork.c:2496:59: sparse: sparse: dereference of noderef expression

Please review and possibly fold the followup patch.

vim +/free_stack +1110 kernel/fork.c

a3d29e8291b622 Peter Zijlstra            2022-02-07  1100  
d46eb14b735b11 Shakeel Butt              2018-08-17  1101  #ifdef CONFIG_MEMCG
d46eb14b735b11 Shakeel Butt              2018-08-17  1102       
tsk->active_memcg = NULL;
d46eb14b735b11 Shakeel Butt              2018-08-17  1103  #endif
^1da177e4c3f41 Linus Torvalds            2005-04-16  1104       return tsk;
61c4628b538608 Suresh Siddha             2008-03-10  1105  
3e724f844e3fe4 Gang Li                   2022-05-12  1106  free_rss_stat:
3e724f844e3fe4 Gang Li                   2022-05-12  1107  #ifdef 
SPLIT_RSS_NUMA_COUNTING
3e724f844e3fe4 Gang Li                   2022-05-12  1108       
kfree(numa_count);
3e724f844e3fe4 Gang Li                   2022-05-12  1109  #endif
b235beea9e996a Linus Torvalds            2016-06-24 @1110  free_stack:
1a03d3f13ffe5d Sebastian Andrzej Siewior 2022-02-17  1111       
exit_task_stack_account(tsk);
ba14a194a434cc Andy Lutomirski           2016-08-11  1112       
free_thread_stack(tsk);
f19b9f74b7ea3b Akinobu Mita              2012-07-30  1113  free_tsk:
61c4628b538608 Suresh Siddha             2008-03-10  1114       
free_task_struct(tsk);
61c4628b538608 Suresh Siddha             2008-03-10  1115       return NULL;
^1da177e4c3f41 Linus Torvalds            2005-04-16  1116  }
^1da177e4c3f41 Linus Torvalds            2005-04-16  1117  

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp
_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to