* kernel/sched/core.c:5714:2: warning: Comparing pointers that point to different objects [comparePointers]
@ 2022-06-27 16:55 kernel test robot
0 siblings, 0 replies; 4+ messages in thread
From: kernel test robot @ 2022-06-27 16:55 UTC (permalink / raw)
To: kbuild
[-- Attachment #1: Type: text/plain, Size: 8436 bytes --]
::::::
:::::: 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-all(a)lists.01.org
BCC: lkp(a)intel.com
CC: linux-kernel(a)vger.kernel.org
TO: Peter Zijlstra <peterz@infradead.org>
CC: Kees Cook <keescook@chromium.org>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 03c765b0e3b4cb5063276b086c76f7a612856a9a
commit: 546a3fee174969ff323d70ff27b1ef181f0d7ceb sched: Reverse sched_class layout
date: 6 weeks ago
:::::: branch date: 19 hours ago
:::::: commit date: 6 weeks ago
compiler: gcc-11 (Debian 11.3.0-3) 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 <lkp@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
457d1f465778ccb kernel/sched/core.c Chen Yu 2020-04-21 5679
^1da177e4c3f415 kernel/sched.c Linus Torvalds 2005-04-16 5680 /*
dd41f596cda0d7d kernel/sched.c Ingo Molnar 2007-07-09 5681 * Pick up the highest-prio task:
^1da177e4c3f415 kernel/sched.c Linus Torvalds 2005-04-16 5682 */
dd41f596cda0d7d kernel/sched.c Ingo Molnar 2007-07-09 5683 static inline struct task_struct *
539f65125d20aac kernel/sched/core.c Peter Zijlstra 2020-11-17 5684 __pick_next_task(struct rq *rq, struct task_struct *prev, struct rq_flags *rf)
dd41f596cda0d7d kernel/sched.c Ingo Molnar 2007-07-09 5685 {
49ee576809d8374 kernel/sched/core.c Peter Zijlstra 2017-01-19 5686 const struct sched_class *class;
dd41f596cda0d7d kernel/sched.c Ingo Molnar 2007-07-09 5687 struct task_struct *p;
dd41f596cda0d7d kernel/sched.c Ingo Molnar 2007-07-09 5688
dd41f596cda0d7d kernel/sched.c Ingo Molnar 2007-07-09 5689 /*
0ba87bb27d66b78 kernel/sched/core.c Peter Zijlstra 2017-03-01 5690 * Optimization: we know that if all tasks are in the fair class we can
0ba87bb27d66b78 kernel/sched/core.c Peter Zijlstra 2017-03-01 5691 * call that function directly, but only if the @prev task wasn't of a
b19a888c1e9bdf1 kernel/sched/core.c Tal Zussman 2020-11-12 5692 * higher scheduling class, because otherwise those lose the
0ba87bb27d66b78 kernel/sched/core.c Peter Zijlstra 2017-03-01 5693 * opportunity to pull in more work from other CPUs.
dd41f596cda0d7d kernel/sched.c Ingo Molnar 2007-07-09 5694 */
546a3fee174969f kernel/sched/core.c Peter Zijlstra 2022-05-17 5695 if (likely(!sched_class_above(prev->sched_class, &fair_sched_class) &&
0ba87bb27d66b78 kernel/sched/core.c Peter Zijlstra 2017-03-01 5696 rq->nr_running == rq->cfs.h_nr_running)) {
0ba87bb27d66b78 kernel/sched/core.c Peter Zijlstra 2017-03-01 5697
5d7d605642b28a5 kernel/sched/core.c Peter Zijlstra 2019-11-08 5698 p = pick_next_task_fair(rq, prev, rf);
6ccdc84b81a0a6c kernel/sched/core.c Peter Zijlstra 2014-04-24 5699 if (unlikely(p == RETRY_TASK))
67692435c411e5c kernel/sched/core.c Peter Zijlstra 2019-05-29 5700 goto restart;
6ccdc84b81a0a6c kernel/sched/core.c Peter Zijlstra 2014-04-24 5701
1699949d3314e5d kernel/sched/core.c Masahiro Yamada 2021-05-19 5702 /* Assume the next prioritized class is idle_sched_class */
5d7d605642b28a5 kernel/sched/core.c Peter Zijlstra 2019-11-08 5703 if (!p) {
f488e1057bb97b8 kernel/sched/core.c Peter Zijlstra 2019-11-08 5704 put_prev_task(rq, prev);
98c2f700edb413e kernel/sched/core.c Peter Zijlstra 2019-11-08 5705 p = pick_next_task_idle(rq);
f488e1057bb97b8 kernel/sched/core.c Peter Zijlstra 2019-11-08 5706 }
6ccdc84b81a0a6c kernel/sched/core.c Peter Zijlstra 2014-04-24 5707
dd41f596cda0d7d kernel/sched.c Ingo Molnar 2007-07-09 5708 return p;
^1da177e4c3f415 kernel/sched.c Linus Torvalds 2005-04-16 5709 }
^1da177e4c3f415 kernel/sched.c Linus Torvalds 2005-04-16 5710
67692435c411e5c kernel/sched/core.c Peter Zijlstra 2019-05-29 5711 restart:
457d1f465778ccb kernel/sched/core.c Chen Yu 2020-04-21 5712 put_prev_task_balance(rq, prev, rf);
67692435c411e5c kernel/sched/core.c Peter Zijlstra 2019-05-29 5713
34f971f6f7988be kernel/sched.c Peter Zijlstra 2010-09-22 @5714 for_each_class(class) {
98c2f700edb413e kernel/sched/core.c Peter Zijlstra 2019-11-08 5715 p = class->pick_next_task(rq);
67692435c411e5c kernel/sched/core.c Peter Zijlstra 2019-05-29 5716 if (p)
dd41f596cda0d7d kernel/sched.c Ingo Molnar 2007-07-09 5717 return p;
dd41f596cda0d7d kernel/sched.c Ingo Molnar 2007-07-09 5718 }
34f971f6f7988be kernel/sched.c Peter Zijlstra 2010-09-22 5719
bc9ffef31bf5981 kernel/sched/core.c Peter Zijlstra 2021-08-24 5720 BUG(); /* The idle class should always have a runnable task. */
dd41f596cda0d7d kernel/sched.c Ingo Molnar 2007-07-09 5721 }
^1da177e4c3f415 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.zijlstra@chello.nl>
:::::: CC: Ingo Molnar <mingo@elte.hu>
--
0-DAY CI Kernel Test Service
https://01.org/lkp
^ permalink raw reply [flat|nested] 4+ messages in thread
* kernel/sched/core.c:5714:2: warning: Comparing pointers that point to different objects [comparePointers]
@ 2022-11-07 13:28 kernel test robot
0 siblings, 0 replies; 4+ messages in thread
From: kernel test robot @ 2022-11-07 13:28 UTC (permalink / raw)
To: oe-kbuild; +Cc: lkp
::::::
:::::: Manual check reason: "low confidence static check warning: kernel/sched/core.c:5714:2: warning: Comparing pointers that point to different objects [comparePointers]"
::::::
BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
CC: linux-kernel@vger.kernel.org
TO: Peter Zijlstra <peterz@infradead.org>
CC: Kees Cook <keescook@chromium.org>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: f0c4d9fc9cc9462659728d168387191387e903cc
commit: 546a3fee174969ff323d70ff27b1ef181f0d7ceb sched: Reverse sched_class layout
date: 6 months ago
:::::: branch date: 14 hours ago
:::::: commit date: 6 months ago
compiler: microblaze-linux-gcc (GCC) 12.1.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 <lkp@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 as pointer to const [constParameter]
static inline int task_current(struct rq *rq, struct task_struct *p)
^
kernel/sched/core.c:5355:34: warning: Uninitialized variable: resched_latency [uninitvar]
if (sched_feat(LATENCY_WARN) && resched_latency)
^
kernel/sched/core.c:5348:6: note: Assuming condition is false
if (sched_feat(LATENCY_WARN))
^
kernel/sched/core.c:5355:34: note: Uninitialized variable: resched_latency
if (sched_feat(LATENCY_WARN) && resched_latency)
^
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.zijlstra@chello.nl>
:::::: CC: Ingo Molnar <mingo@elte.hu>
--
0-DAY CI Kernel Test Service
https://01.org/lkp
^ permalink raw reply [flat|nested] 4+ messages in thread
* kernel/sched/core.c:5714:2: warning: Comparing pointers that point to different objects [comparePointers]
@ 2022-07-13 23:15 kernel test robot
0 siblings, 0 replies; 4+ messages in thread
From: kernel test robot @ 2022-07-13 23:15 UTC (permalink / raw)
To: kbuild
[-- Attachment #1: Type: text/plain, Size: 8390 bytes --]
::::::
:::::: 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-all(a)lists.01.org
BCC: lkp(a)intel.com
CC: linux-kernel(a)vger.kernel.org
TO: Peter Zijlstra <peterz@infradead.org>
CC: Kees Cook <keescook@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 <lkp@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.zijlstra@chello.nl>
:::::: CC: Ingo Molnar <mingo@elte.hu>
--
0-DAY CI Kernel Test Service
https://01.org/lkp
^ permalink raw reply [flat|nested] 4+ messages in thread
* kernel/sched/core.c:5714:2: warning: Comparing pointers that point to different objects [comparePointers]
@ 2022-06-10 4:36 kernel test robot
0 siblings, 0 replies; 4+ messages in thread
From: kernel test robot @ 2022-06-10 4:36 UTC (permalink / raw)
To: kbuild
[-- Attachment #1: Type: text/plain, Size: 13137 bytes --]
::::::
:::::: 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-all(a)lists.01.org
BCC: lkp(a)intel.com
CC: linux-kernel(a)vger.kernel.org
TO: Peter Zijlstra <peterz@infradead.org>
CC: Kees Cook <keescook@chromium.org>
Hi Peter,
First bad commit (maybe != root cause):
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 874c8ca1e60b2c564a48f7e7acc40d328d5c8733
commit: 546a3fee174969ff323d70ff27b1ef181f0d7ceb sched: Reverse sched_class layout
date: 3 weeks ago
:::::: branch date: 8 hours ago
:::::: commit date: 3 weeks ago
compiler: arceb-elf-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 <lkp@intel.com>
cppcheck warnings: (new ones prefixed by >>)
>> mm/huge_memory.c:1719:15: warning: Local variable 'entry' shadows outer variable [shadowVariable]
swp_entry_t entry = pmd_to_swp_entry(*pmd);
^
mm/huge_memory.c:1700:8: note: Shadowed declaration
pmd_t entry;
^
mm/huge_memory.c:1719:15: note: Shadow variable
swp_entry_t entry = pmd_to_swp_entry(*pmd);
^
cppcheck possible warnings: (new ones prefixed by >>, may not real problems)
>> mm/vmstat.c:1406:53: warning: Parameter 'pos' can be declared with const [constParameter]
static void *frag_start(struct seq_file *m, loff_t *pos)
^
>> mm/vmstat.c:1647:68: warning: Parameter 'zone' can be declared with const [constParameter]
static bool is_zone_first_populated(pg_data_t *pgdat, struct zone *zone)
^
mm/vmstat.c:1777:55: warning: Parameter 'pos' can be declared with const [constParameter]
static void *vmstat_start(struct seq_file *m, loff_t *pos)
^
>> mm/swap.c:600:20: warning: Using pointer that is a temporary. [danglingTemporaryLifetime]
if (pagevec_count(pvec))
^
mm/swap.c:598:25: note: Address of variable taken here.
struct pagevec *pvec = &per_cpu(lru_pvecs.lru_add, cpu);
^
mm/swap.c:598:33: note: Temporary created here.
struct pagevec *pvec = &per_cpu(lru_pvecs.lru_add, cpu);
^
mm/swap.c:600:20: note: Using pointer that is a temporary.
if (pagevec_count(pvec))
^
mm/swap.c:605:30: warning: Using pointer that is a temporary. [danglingTemporaryLifetime]
if (data_race(pagevec_count(pvec))) {
^
mm/swap.c:603:9: note: Address of variable taken here.
pvec = &per_cpu(lru_rotate.pvec, cpu);
^
mm/swap.c:603:17: note: Temporary created here.
pvec = &per_cpu(lru_rotate.pvec, cpu);
^
mm/swap.c:605:30: note: Using pointer that is a temporary.
if (data_race(pagevec_count(pvec))) {
^
mm/swap.c:615:20: warning: Using pointer that is a temporary. [danglingTemporaryLifetime]
if (pagevec_count(pvec))
^
mm/swap.c:614:9: note: Address of variable taken here.
pvec = &per_cpu(lru_pvecs.lru_deactivate_file, cpu);
^
mm/swap.c:614:17: note: Temporary created here.
pvec = &per_cpu(lru_pvecs.lru_deactivate_file, cpu);
^
mm/swap.c:615:20: note: Using pointer that is a temporary.
if (pagevec_count(pvec))
^
mm/swap.c:619:20: warning: Using pointer that is a temporary. [danglingTemporaryLifetime]
if (pagevec_count(pvec))
^
mm/swap.c:618:9: note: Address of variable taken here.
pvec = &per_cpu(lru_pvecs.lru_deactivate, cpu);
^
mm/swap.c:618:17: note: Temporary created here.
pvec = &per_cpu(lru_pvecs.lru_deactivate, cpu);
^
mm/swap.c:619:20: note: Using pointer that is a temporary.
if (pagevec_count(pvec))
^
mm/swap.c:623:20: warning: Using pointer that is a temporary. [danglingTemporaryLifetime]
if (pagevec_count(pvec))
^
mm/swap.c:622:9: note: Address of variable taken here.
pvec = &per_cpu(lru_pvecs.lru_lazyfree, cpu);
^
mm/swap.c:622:17: note: Temporary created here.
pvec = &per_cpu(lru_pvecs.lru_lazyfree, cpu);
^
mm/swap.c:623:20: note: Using pointer that is a temporary.
if (pagevec_count(pvec))
^
>> mm/huge_memory.c:1615:54: warning: Parameter 'new_pmd_ptl' can be declared with const [constParameter]
static inline int pmd_move_must_withdraw(spinlock_t *new_pmd_ptl,
^
>> mm/huge_memory.c:1616:19: warning: Parameter 'old_pmd_ptl' can be declared with const [constParameter]
spinlock_t *old_pmd_ptl,
^
>> mm/huge_memory.c:2973:9: warning: Local variable 'buf' shadows outer argument [shadowArgument]
char *buf = input_buf;
^
mm/huge_memory.c:2949:77: note: Shadowed declaration
static ssize_t split_huge_pages_write(struct file *file, const char __user *buf,
^
mm/huge_memory.c:2973:9: note: Shadow variable
char *buf = input_buf;
^
>> 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
457d1f465778ccb kernel/sched/core.c Chen Yu 2020-04-21 5679
^1da177e4c3f415 kernel/sched.c Linus Torvalds 2005-04-16 5680 /*
dd41f596cda0d7d kernel/sched.c Ingo Molnar 2007-07-09 5681 * Pick up the highest-prio task:
^1da177e4c3f415 kernel/sched.c Linus Torvalds 2005-04-16 5682 */
dd41f596cda0d7d kernel/sched.c Ingo Molnar 2007-07-09 5683 static inline struct task_struct *
539f65125d20aac kernel/sched/core.c Peter Zijlstra 2020-11-17 5684 __pick_next_task(struct rq *rq, struct task_struct *prev, struct rq_flags *rf)
dd41f596cda0d7d kernel/sched.c Ingo Molnar 2007-07-09 5685 {
49ee576809d8374 kernel/sched/core.c Peter Zijlstra 2017-01-19 5686 const struct sched_class *class;
dd41f596cda0d7d kernel/sched.c Ingo Molnar 2007-07-09 5687 struct task_struct *p;
dd41f596cda0d7d kernel/sched.c Ingo Molnar 2007-07-09 5688
dd41f596cda0d7d kernel/sched.c Ingo Molnar 2007-07-09 5689 /*
0ba87bb27d66b78 kernel/sched/core.c Peter Zijlstra 2017-03-01 5690 * Optimization: we know that if all tasks are in the fair class we can
0ba87bb27d66b78 kernel/sched/core.c Peter Zijlstra 2017-03-01 5691 * call that function directly, but only if the @prev task wasn't of a
b19a888c1e9bdf1 kernel/sched/core.c Tal Zussman 2020-11-12 5692 * higher scheduling class, because otherwise those lose the
0ba87bb27d66b78 kernel/sched/core.c Peter Zijlstra 2017-03-01 5693 * opportunity to pull in more work from other CPUs.
dd41f596cda0d7d kernel/sched.c Ingo Molnar 2007-07-09 5694 */
546a3fee174969f kernel/sched/core.c Peter Zijlstra 2022-05-17 5695 if (likely(!sched_class_above(prev->sched_class, &fair_sched_class) &&
0ba87bb27d66b78 kernel/sched/core.c Peter Zijlstra 2017-03-01 5696 rq->nr_running == rq->cfs.h_nr_running)) {
0ba87bb27d66b78 kernel/sched/core.c Peter Zijlstra 2017-03-01 5697
5d7d605642b28a5 kernel/sched/core.c Peter Zijlstra 2019-11-08 5698 p = pick_next_task_fair(rq, prev, rf);
6ccdc84b81a0a6c kernel/sched/core.c Peter Zijlstra 2014-04-24 5699 if (unlikely(p == RETRY_TASK))
67692435c411e5c kernel/sched/core.c Peter Zijlstra 2019-05-29 5700 goto restart;
6ccdc84b81a0a6c kernel/sched/core.c Peter Zijlstra 2014-04-24 5701
1699949d3314e5d kernel/sched/core.c Masahiro Yamada 2021-05-19 5702 /* Assume the next prioritized class is idle_sched_class */
5d7d605642b28a5 kernel/sched/core.c Peter Zijlstra 2019-11-08 5703 if (!p) {
f488e1057bb97b8 kernel/sched/core.c Peter Zijlstra 2019-11-08 5704 put_prev_task(rq, prev);
98c2f700edb413e kernel/sched/core.c Peter Zijlstra 2019-11-08 5705 p = pick_next_task_idle(rq);
f488e1057bb97b8 kernel/sched/core.c Peter Zijlstra 2019-11-08 5706 }
6ccdc84b81a0a6c kernel/sched/core.c Peter Zijlstra 2014-04-24 5707
dd41f596cda0d7d kernel/sched.c Ingo Molnar 2007-07-09 5708 return p;
^1da177e4c3f415 kernel/sched.c Linus Torvalds 2005-04-16 5709 }
^1da177e4c3f415 kernel/sched.c Linus Torvalds 2005-04-16 5710
67692435c411e5c kernel/sched/core.c Peter Zijlstra 2019-05-29 5711 restart:
457d1f465778ccb kernel/sched/core.c Chen Yu 2020-04-21 5712 put_prev_task_balance(rq, prev, rf);
67692435c411e5c kernel/sched/core.c Peter Zijlstra 2019-05-29 5713
34f971f6f7988be kernel/sched.c Peter Zijlstra 2010-09-22 @5714 for_each_class(class) {
98c2f700edb413e kernel/sched/core.c Peter Zijlstra 2019-11-08 5715 p = class->pick_next_task(rq);
67692435c411e5c kernel/sched/core.c Peter Zijlstra 2019-05-29 5716 if (p)
dd41f596cda0d7d kernel/sched.c Ingo Molnar 2007-07-09 5717 return p;
dd41f596cda0d7d kernel/sched.c Ingo Molnar 2007-07-09 5718 }
34f971f6f7988be kernel/sched.c Peter Zijlstra 2010-09-22 5719
bc9ffef31bf5981 kernel/sched/core.c Peter Zijlstra 2021-08-24 5720 BUG(); /* The idle class should always have a runnable task. */
dd41f596cda0d7d kernel/sched.c Ingo Molnar 2007-07-09 5721 }
^1da177e4c3f415 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.zijlstra@chello.nl>
:::::: CC: Ingo Molnar <mingo@elte.hu>
--
0-DAY CI Kernel Test Service
https://01.org/lkp
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2022-11-07 13:28 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-27 16:55 kernel/sched/core.c:5714:2: warning: Comparing pointers that point to different objects [comparePointers] kernel test robot
-- strict thread matches above, loose matches on Subject: below --
2022-11-07 13:28 kernel test robot
2022-07-13 23:15 kernel test robot
2022-06-10 4:36 kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.