CC: [email protected] CC: [email protected] TO: Guo Ren <[email protected]>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: f40ddce88593482919761f74910f42f4b84c004b commit: 18c07d23da5a48525b2955aa269b8bb108c19300 csky: Fixup calltrace panic date: 9 months ago :::::: branch date: 3 days ago :::::: commit date: 9 months ago config: csky-randconfig-s032-20210217 (attached as .config) compiler: csky-linux-gcc (GCC) 9.3.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # apt-get install sparse # sparse version: v0.6.3-215-g0fb77bb6-dirty # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=18c07d23da5a48525b2955aa269b8bb108c19300 git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git git fetch --no-tags linus master git checkout 18c07d23da5a48525b2955aa269b8bb108c19300 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=csky 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/locking/rtmutex.c: note: in included file (through include/linux/irqflags.h, include/asm-generic/cmpxchg.h, arch/csky/include/asm/cmpxchg.h, ...): >> arch/csky/include/asm/irqflags.h:19:9: sparse: sparse: context imbalance in >> 'rt_mutex_adjust_prio_chain' - different lock contexts for basic block -- arch/csky/lib/usercopy.c:239:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const *addr @@ got void [noderef] <asn:1> *to @@ arch/csky/lib/usercopy.c:239:23: sparse: expected void const *addr arch/csky/lib/usercopy.c:239:23: sparse: got void [noderef] <asn:1> *to arch/csky/lib/usercopy.c:237:1: sparse: sparse: symbol 'clear_user' redeclared with different type (incompatible argument 1 (different address spaces)): >> arch/csky/lib/usercopy.c:237:1: sparse: unsigned long extern >> [addressable] [toplevel] [unsigned] clear_user( ... ) arch/csky/lib/usercopy.c: note: in included file (through include/linux/uaccess.h): arch/csky/include/asm/uaccess.h:385:15: sparse: note: previously declared as: >> arch/csky/include/asm/uaccess.h:385:15: sparse: unsigned long extern >> [addressable] [toplevel] [unsigned] clear_user( ... ) -- >> arch/csky/mm/fault.c:153:15: sparse: sparse: incorrect type in assignment >> (different base types) @@ expected int fault @@ got restricted >> vm_fault_t @@ arch/csky/mm/fault.c:153:15: sparse: expected int fault arch/csky/mm/fault.c:153:15: sparse: got restricted vm_fault_t >> arch/csky/mm/fault.c:154:13: sparse: sparse: restricted vm_fault_t degrades >> to integer arch/csky/mm/fault.c:155:29: sparse: sparse: restricted vm_fault_t degrades to integer arch/csky/mm/fault.c:157:34: sparse: sparse: restricted vm_fault_t degrades to integer arch/csky/mm/fault.c:159:34: sparse: sparse: restricted vm_fault_t degrades to integer arch/csky/mm/fault.c:163:21: sparse: sparse: restricted vm_fault_t degrades to integer -- kernel/exit.c:273:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct task_struct *tsk @@ got struct task_struct [noderef] <asn:4> *real_parent @@ kernel/exit.c:273:37: sparse: expected struct task_struct *tsk kernel/exit.c:273:37: sparse: got struct task_struct [noderef] <asn:4> *real_parent kernel/exit.c:276:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct task_struct *task @@ got struct task_struct [noderef] <asn:4> *real_parent @@ kernel/exit.c:276:32: sparse: expected struct task_struct *task kernel/exit.c:276:32: sparse: got struct task_struct [noderef] <asn:4> *real_parent kernel/exit.c:277:35: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct task_struct *task @@ got struct task_struct [noderef] <asn:4> *real_parent @@ kernel/exit.c:277:35: sparse: expected struct task_struct *task kernel/exit.c:277:35: sparse: got struct task_struct [noderef] <asn:4> *real_parent kernel/exit.c:322:24: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct task_struct *parent @@ got struct task_struct [noderef] <asn:4> *real_parent @@ kernel/exit.c:322:24: sparse: expected struct task_struct *parent kernel/exit.c:322:24: sparse: got struct task_struct [noderef] <asn:4> *real_parent kernel/exit.c:553:29: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct task_struct *reaper @@ got struct task_struct [noderef] <asn:4> *real_parent @@ kernel/exit.c:553:29: sparse: expected struct task_struct *reaper kernel/exit.c:553:29: sparse: got struct task_struct [noderef] <asn:4> *real_parent kernel/exit.c:555:29: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct task_struct *reaper @@ got struct task_struct [noderef] <asn:4> *real_parent @@ kernel/exit.c:555:29: sparse: expected struct task_struct *reaper kernel/exit.c:555:29: sparse: got struct task_struct [noderef] <asn:4> *real_parent kernel/exit.c:880:63: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct sighand_struct *const sighand @@ got struct sighand_struct [noderef] <asn:4> *sighand @@ kernel/exit.c:880:63: sparse: expected struct sighand_struct *const sighand kernel/exit.c:880:63: sparse: got struct sighand_struct [noderef] <asn:4> *sighand kernel/exit.c:1032:39: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] <asn:4> * @@ kernel/exit.c:1032:39: sparse: expected struct spinlock [usertype] *lock kernel/exit.c:1032:39: sparse: got struct spinlock [noderef] <asn:4> * kernel/exit.c:1057:41: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] <asn:4> * @@ kernel/exit.c:1057:41: sparse: expected struct spinlock [usertype] *lock kernel/exit.c:1057:41: sparse: got struct spinlock [noderef] <asn:4> * kernel/exit.c:1146:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] <asn:4> * @@ kernel/exit.c:1146:25: sparse: expected struct spinlock [usertype] *lock kernel/exit.c:1146:25: sparse: got struct spinlock [noderef] <asn:4> * kernel/exit.c:1161:27: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] <asn:4> * @@ kernel/exit.c:1161:27: sparse: expected struct spinlock [usertype] *lock kernel/exit.c:1161:27: sparse: got struct spinlock [noderef] <asn:4> * kernel/exit.c:1212:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] <asn:4> * @@ kernel/exit.c:1212:25: sparse: expected struct spinlock [usertype] *lock kernel/exit.c:1212:25: sparse: got struct spinlock [noderef] <asn:4> * kernel/exit.c:1215:35: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] <asn:4> * @@ kernel/exit.c:1215:35: sparse: expected struct spinlock [usertype] *lock kernel/exit.c:1215:35: sparse: got struct spinlock [noderef] <asn:4> * kernel/exit.c:1221:27: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] <asn:4> * @@ kernel/exit.c:1221:27: sparse: expected struct spinlock [usertype] *lock kernel/exit.c:1221:27: sparse: got struct spinlock [noderef] <asn:4> * kernel/exit.c:1402:59: sparse: sparse: incompatible types in comparison expression (different base types): kernel/exit.c:1402:59: sparse: void * kernel/exit.c:1402:59: sparse: struct task_struct [noderef] <asn:4> * kernel/exit.c:1614:37: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int *__pu_addr @@ got int [noderef] <asn:1> *stat_addr @@ kernel/exit.c:1614:37: sparse: expected int *__pu_addr kernel/exit.c:1614:37: sparse: got int [noderef] <asn:1> *stat_addr kernel/exit.c:1705:13: sparse: sparse: symbol 'abort' was not declared. Should it be static? kernel/exit.c: note: in included file: include/linux/ptrace.h:99:40: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct task_struct *p1 @@ got struct task_struct [noderef] <asn:4> *real_parent @@ include/linux/ptrace.h:99:40: sparse: expected struct task_struct *p1 include/linux/ptrace.h:99:40: sparse: got struct task_struct [noderef] <asn:4> *real_parent include/linux/ptrace.h:99:60: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected struct task_struct *p2 @@ got struct task_struct [noderef] <asn:4> *parent @@ include/linux/ptrace.h:99:60: sparse: expected struct task_struct *p2 include/linux/ptrace.h:99:60: sparse: got struct task_struct [noderef] <asn:4> *parent include/linux/ptrace.h:99:40: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct task_struct *p1 @@ got struct task_struct [noderef] <asn:4> *real_parent @@ include/linux/ptrace.h:99:40: sparse: expected struct task_struct *p1 include/linux/ptrace.h:99:40: sparse: got struct task_struct [noderef] <asn:4> *real_parent include/linux/ptrace.h:99:60: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected struct task_struct *p2 @@ got struct task_struct [noderef] <asn:4> *parent @@ include/linux/ptrace.h:99:60: sparse: expected struct task_struct *p2 include/linux/ptrace.h:99:60: sparse: got struct task_struct [noderef] <asn:4> *parent kernel/exit.c: note: in included file (through include/linux/sched/signal.h, include/linux/rcuwait.h, include/linux/percpu-rwsem.h, ...): include/linux/sched/task.h:117:21: sparse: sparse: context imbalance in 'wait_task_zombie' - unexpected unlock include/linux/sched/task.h:117:21: sparse: sparse: context imbalance in 'wait_task_stopped' - unexpected unlock include/linux/sched/task.h:117:21: sparse: sparse: context imbalance in 'wait_task_continued' - unexpected unlock kernel/exit.c: note: in included file: include/linux/ptrace.h:99:40: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct task_struct *p1 @@ got struct task_struct [noderef] <asn:4> *real_parent @@ include/linux/ptrace.h:99:40: sparse: expected struct task_struct *p1 include/linux/ptrace.h:99:40: sparse: got struct task_struct [noderef] <asn:4> *real_parent include/linux/ptrace.h:99:60: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected struct task_struct *p2 @@ got struct task_struct [noderef] <asn:4> *parent @@ include/linux/ptrace.h:99:60: sparse: expected struct task_struct *p2 include/linux/ptrace.h:99:60: sparse: got struct task_struct [noderef] <asn:4> *parent kernel/exit.c: note: in included file (through include/linux/thread_info.h, include/asm-generic/preempt.h, arch/csky/include/generated/asm/preempt.h, ...): >> arch/csky/include/asm/thread_info.h:53:9: sparse: sparse: context imbalance >> in 'do_wait' - wrong count at exit kernel/exit.c:1561:14: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const *addr @@ got struct siginfo [noderef] <asn:1> *infop @@ kernel/exit.c:1561:14: sparse: expected void const *addr kernel/exit.c:1561:14: sparse: got struct siginfo [noderef] <asn:1> *infop kernel/exit.c:1564:9: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int *__pu_addr @@ got int [noderef] <asn:1> * @@ kernel/exit.c:1564:9: sparse: expected int *__pu_addr kernel/exit.c:1564:9: sparse: got int [noderef] <asn:1> * kernel/exit.c:1565:9: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int *__pu_addr @@ got int [noderef] <asn:1> * @@ kernel/exit.c:1565:9: sparse: expected int *__pu_addr kernel/exit.c:1565:9: sparse: got int [noderef] <asn:1> * kernel/exit.c:1566:9: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int *__pu_addr @@ got int [noderef] <asn:1> * @@ kernel/exit.c:1566:9: sparse: expected int *__pu_addr kernel/exit.c:1566:9: sparse: got int [noderef] <asn:1> * kernel/exit.c:1567:9: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int *__pu_addr @@ got int [noderef] <asn:1> * @@ kernel/exit.c:1567:9: sparse: expected int *__pu_addr kernel/exit.c:1567:9: sparse: got int [noderef] <asn:1> * kernel/exit.c:1568:9: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int *__pu_addr @@ got unsigned int [noderef] <asn:1> * @@ kernel/exit.c:1568:9: sparse: expected unsigned int *__pu_addr kernel/exit.c:1568:9: sparse: got unsigned int [noderef] <asn:1> * kernel/exit.c:1569:9: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int *__pu_addr @@ got int [noderef] <asn:1> * @@ kernel/exit.c:1569:9: sparse: expected int *__pu_addr kernel/exit.c:1569:9: sparse: got int [noderef] <asn:1> * vim +/do_wait +53 arch/csky/include/asm/thread_info.h e9564df753fd54 Guo Ren 2018-09-05 39 0ea2dc7cd668be Guo Ren 2018-12-09 40 #define thread_saved_fp(tsk) \ 0ea2dc7cd668be Guo Ren 2018-12-09 41 ((unsigned long)(((struct switch_stack *)(tsk->thread.ksp))->r8)) 0ea2dc7cd668be Guo Ren 2018-12-09 42 18c07d23da5a48 Guo Ren 2020-05-13 43 #define thread_saved_sp(tsk) \ 18c07d23da5a48 Guo Ren 2020-05-13 44 ((unsigned long)(tsk->thread.ksp)) 18c07d23da5a48 Guo Ren 2020-05-13 45 18c07d23da5a48 Guo Ren 2020-05-13 46 #define thread_saved_lr(tsk) \ 18c07d23da5a48 Guo Ren 2020-05-13 47 ((unsigned long)(((struct switch_stack *)(tsk->thread.ksp))->r15)) 18c07d23da5a48 Guo Ren 2020-05-13 48 e9564df753fd54 Guo Ren 2018-09-05 49 static inline struct thread_info *current_thread_info(void) e9564df753fd54 Guo Ren 2018-09-05 50 { e9564df753fd54 Guo Ren 2018-09-05 51 unsigned long sp; e9564df753fd54 Guo Ren 2018-09-05 52 e9564df753fd54 Guo Ren 2018-09-05 @53 asm volatile("mov %0, sp\n":"=r"(sp)); e9564df753fd54 Guo Ren 2018-09-05 54 e9564df753fd54 Guo Ren 2018-09-05 55 return (struct thread_info *)(sp & ~(THREAD_SIZE - 1)); e9564df753fd54 Guo Ren 2018-09-05 56 } e9564df753fd54 Guo Ren 2018-09-05 57 :::::: The code at line 53 was first introduced by commit :::::: e9564df753fd547fcbcd4fd10015c3b1213ef452 csky: Process management and Signal :::::: TO: Guo Ren <[email protected]> :::::: CC: Guo Ren <[email protected]> --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/[email protected]
.config.gz
Description: application/gzip
_______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
