:::::: 
:::::: 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

Reply via email to