:::::: :::::: Manual check reason: "low confidence static check warning: kernel/sched/core.c:5714:2: warning: Comparing pointers that point to different objects [comparePointers]" ::::::
CC: kbuild-...@lists.01.org BCC: l...@intel.com CC: linux-ker...@vger.kernel.org TO: Peter Zijlstra <pet...@infradead.org> CC: Kees Cook <keesc...@chromium.org> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 4a57a8400075bc5287c5c877702c68aeae2a033d commit: 546a3fee174969ff323d70ff27b1ef181f0d7ceb sched: Reverse sched_class layout date: 8 weeks ago :::::: branch date: 4 hours ago :::::: commit date: 8 weeks ago compiler: powerpc-linux-gcc (GCC) 11.3.0 reproduce (cppcheck warning): # apt-get install cppcheck git checkout 546a3fee174969ff323d70ff27b1ef181f0d7ceb cppcheck --quiet --enable=style,performance,portability --template=gcc FILE If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot <l...@intel.com> cppcheck possible warnings: (new ones prefixed by >>, may not real problems) >> kernel/sched/core.c:5714:2: warning: Comparing pointers that point to >> different objects [comparePointers] for_each_class(class) { ^ kernel/sched/sched.h:2190:27: note: Variable declared here. extern struct sched_class __sched_class_highest[]; ^ kernel/sched/core.c:5714:2: note: Array decayed to pointer here. for_each_class(class) { ^ kernel/sched/sched.h:2191:27: note: Variable declared here. extern struct sched_class __sched_class_lowest[]; ^ kernel/sched/core.c:5714:2: note: Array decayed to pointer here. for_each_class(class) { ^ kernel/sched/core.c:5714:2: note: Comparing pointers that point to different objects for_each_class(class) { ^ kernel/sched/sched.h:2004:67: warning: Parameter 'p' can be declared with const [constParameter] static inline int task_current(struct rq *rq, struct task_struct *p) ^ kernel/sched/core.c:2760:4: warning: Address of local auto-variable assigned to a function parameter. [autoVariables] p->migration_pending = &my_pending; ^ kernel/sched/core.c:9130:3: warning: Comparing pointers that point to different objects [comparePointers] for_each_class(class) { ^ kernel/sched/sched.h:2190:27: note: Variable declared here. extern struct sched_class __sched_class_highest[]; ^ kernel/sched/core.c:9130:3: note: Array decayed to pointer here. for_each_class(class) { ^ kernel/sched/sched.h:2191:27: note: Variable declared here. extern struct sched_class __sched_class_lowest[]; ^ kernel/sched/core.c:9130:3: note: Array decayed to pointer here. for_each_class(class) { ^ kernel/sched/core.c:9130:3: note: Comparing pointers that point to different objects for_each_class(class) { ^ kernel/sched/core.c:9142:3: warning: Comparing pointers that point to different objects [comparePointers] for_each_class(class) { ^ kernel/sched/sched.h:2190:27: note: Variable declared here. extern struct sched_class __sched_class_highest[]; ^ kernel/sched/core.c:9142:3: note: Array decayed to pointer here. for_each_class(class) { ^ kernel/sched/sched.h:2191:27: note: Variable declared here. extern struct sched_class __sched_class_lowest[]; ^ kernel/sched/core.c:9142:3: note: Array decayed to pointer here. for_each_class(class) { ^ kernel/sched/core.c:9142:3: note: Comparing pointers that point to different objects for_each_class(class) { ^ vim +5714 kernel/sched/core.c 457d1f465778cc kernel/sched/core.c Chen Yu 2020-04-21 5679 ^1da177e4c3f41 kernel/sched.c Linus Torvalds 2005-04-16 5680 /* dd41f596cda0d7 kernel/sched.c Ingo Molnar 2007-07-09 5681 * Pick up the highest-prio task: ^1da177e4c3f41 kernel/sched.c Linus Torvalds 2005-04-16 5682 */ dd41f596cda0d7 kernel/sched.c Ingo Molnar 2007-07-09 5683 static inline struct task_struct * 539f65125d20aa kernel/sched/core.c Peter Zijlstra 2020-11-17 5684 __pick_next_task(struct rq *rq, struct task_struct *prev, struct rq_flags *rf) dd41f596cda0d7 kernel/sched.c Ingo Molnar 2007-07-09 5685 { 49ee576809d837 kernel/sched/core.c Peter Zijlstra 2017-01-19 5686 const struct sched_class *class; dd41f596cda0d7 kernel/sched.c Ingo Molnar 2007-07-09 5687 struct task_struct *p; dd41f596cda0d7 kernel/sched.c Ingo Molnar 2007-07-09 5688 dd41f596cda0d7 kernel/sched.c Ingo Molnar 2007-07-09 5689 /* 0ba87bb27d66b7 kernel/sched/core.c Peter Zijlstra 2017-03-01 5690 * Optimization: we know that if all tasks are in the fair class we can 0ba87bb27d66b7 kernel/sched/core.c Peter Zijlstra 2017-03-01 5691 * call that function directly, but only if the @prev task wasn't of a b19a888c1e9bdf kernel/sched/core.c Tal Zussman 2020-11-12 5692 * higher scheduling class, because otherwise those lose the 0ba87bb27d66b7 kernel/sched/core.c Peter Zijlstra 2017-03-01 5693 * opportunity to pull in more work from other CPUs. dd41f596cda0d7 kernel/sched.c Ingo Molnar 2007-07-09 5694 */ 546a3fee174969 kernel/sched/core.c Peter Zijlstra 2022-05-17 5695 if (likely(!sched_class_above(prev->sched_class, &fair_sched_class) && 0ba87bb27d66b7 kernel/sched/core.c Peter Zijlstra 2017-03-01 5696 rq->nr_running == rq->cfs.h_nr_running)) { 0ba87bb27d66b7 kernel/sched/core.c Peter Zijlstra 2017-03-01 5697 5d7d605642b28a kernel/sched/core.c Peter Zijlstra 2019-11-08 5698 p = pick_next_task_fair(rq, prev, rf); 6ccdc84b81a0a6 kernel/sched/core.c Peter Zijlstra 2014-04-24 5699 if (unlikely(p == RETRY_TASK)) 67692435c411e5 kernel/sched/core.c Peter Zijlstra 2019-05-29 5700 goto restart; 6ccdc84b81a0a6 kernel/sched/core.c Peter Zijlstra 2014-04-24 5701 1699949d3314e5 kernel/sched/core.c Masahiro Yamada 2021-05-19 5702 /* Assume the next prioritized class is idle_sched_class */ 5d7d605642b28a kernel/sched/core.c Peter Zijlstra 2019-11-08 5703 if (!p) { f488e1057bb97b kernel/sched/core.c Peter Zijlstra 2019-11-08 5704 put_prev_task(rq, prev); 98c2f700edb413 kernel/sched/core.c Peter Zijlstra 2019-11-08 5705 p = pick_next_task_idle(rq); f488e1057bb97b kernel/sched/core.c Peter Zijlstra 2019-11-08 5706 } 6ccdc84b81a0a6 kernel/sched/core.c Peter Zijlstra 2014-04-24 5707 dd41f596cda0d7 kernel/sched.c Ingo Molnar 2007-07-09 5708 return p; ^1da177e4c3f41 kernel/sched.c Linus Torvalds 2005-04-16 5709 } ^1da177e4c3f41 kernel/sched.c Linus Torvalds 2005-04-16 5710 67692435c411e5 kernel/sched/core.c Peter Zijlstra 2019-05-29 5711 restart: 457d1f465778cc kernel/sched/core.c Chen Yu 2020-04-21 5712 put_prev_task_balance(rq, prev, rf); 67692435c411e5 kernel/sched/core.c Peter Zijlstra 2019-05-29 5713 34f971f6f7988b kernel/sched.c Peter Zijlstra 2010-09-22 @5714 for_each_class(class) { 98c2f700edb413 kernel/sched/core.c Peter Zijlstra 2019-11-08 5715 p = class->pick_next_task(rq); 67692435c411e5 kernel/sched/core.c Peter Zijlstra 2019-05-29 5716 if (p) dd41f596cda0d7 kernel/sched.c Ingo Molnar 2007-07-09 5717 return p; dd41f596cda0d7 kernel/sched.c Ingo Molnar 2007-07-09 5718 } 34f971f6f7988b kernel/sched.c Peter Zijlstra 2010-09-22 5719 bc9ffef31bf598 kernel/sched/core.c Peter Zijlstra 2021-08-24 5720 BUG(); /* The idle class should always have a runnable task. */ dd41f596cda0d7 kernel/sched.c Ingo Molnar 2007-07-09 5721 } ^1da177e4c3f41 kernel/sched.c Linus Torvalds 2005-04-16 5722 :::::: The code at line 5714 was first introduced by commit :::::: 34f971f6f7988be4d014eec3e3526bee6d007ffa sched: Create special class for stop/migrate work :::::: TO: Peter Zijlstra <a.p.zijls...@chello.nl> :::::: CC: Ingo Molnar <mi...@elte.hu> -- 0-DAY CI Kernel Test Service https://01.org/lkp _______________________________________________ kbuild mailing list -- kbuild@lists.01.org To unsubscribe send an email to kbuild-le...@lists.01.org