* [tip:sched/core 2/11] kernel/sched/fair.c:446:21: warning: Access to field 'my_q' results in a dereference of a null pointer (loaded from variable 'se') [clang-analyzer-core.NullDereference]
@ 2021-08-26 20:51 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-08-26 20:51 UTC (permalink / raw)
To: kbuild
[-- Attachment #1: Type: text/plain, Size: 15262 bytes --]
CC: llvm(a)lists.linux.dev
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
CC: x86(a)kernel.org
TO: Josh Don <joshdon@google.com>
CC: Peter Zijlstra <peterz@infradead.org>
CC: Vincent Guittot <vincent.guittot@linaro.org>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git sched/core
head: 234b8ab6476c5edd5262e2ff563de9498d60044a
commit: 304000390f88d049c85e9a0958ac5567f38816ee [2/11] sched: Cgroup SCHED_IDLE support
:::::: branch date: 6 days ago
:::::: commit date: 6 days ago
config: mips-randconfig-c004-20210826 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project ea08c4cd1c0869ec5024a8bb3f5cdf06ab03ae83)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install mips cross compiling tool for clang build
# apt-get install binutils-mips-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?id=304000390f88d049c85e9a0958ac5567f38816ee
git remote add tip https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git
git fetch --no-tags tip sched/core
git checkout 304000390f88d049c85e9a0958ac5567f38816ee
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=mips clang-analyzer
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
clang-analyzer warnings: (new ones prefixed by >>)
^
drivers/media/usb/cx231xx/cx231xx-core.c:194:6: note: Assuming field 'direction' is 0
if (req_data->direction) {
^~~~~~~~~~~~~~~~~~~
drivers/media/usb/cx231xx/cx231xx-core.c:194:2: note: Taking false branch
if (req_data->direction) {
^
drivers/media/usb/cx231xx/cx231xx-core.c:205:11: note: Calling 'cx231xx_send_vendor_cmd'
status = cx231xx_send_vendor_cmd(dev, &ven_req);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/media/usb/cx231xx/cx231xx-core.c:325:2: note: Taking false branch
if (dev->state & DEV_DISCONNECTED)
^
drivers/media/usb/cx231xx/cx231xx-core.c:328:7: note: Assuming field 'wLength' is <= URB_MAX_CTRL_SIZE
if ((ven_req->wLength > URB_MAX_CTRL_SIZE))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/media/usb/cx231xx/cx231xx-core.c:328:2: note: Taking false branch
if ((ven_req->wLength > URB_MAX_CTRL_SIZE))
^
drivers/media/usb/cx231xx/cx231xx-core.c:331:15: note: Field 'direction' is 0
if (ven_req->direction)
^
drivers/media/usb/cx231xx/cx231xx-core.c:331:2: note: Taking false branch
if (ven_req->direction)
^
drivers/media/usb/cx231xx/cx231xx-core.c:340:7: note: Assuming field 'wLength' is <= 4
if ((ven_req->wLength > 4) && ((ven_req->bRequest == 0x4) ||
^~~~~~~~~~~~~~~~~~~~
drivers/media/usb/cx231xx/cx231xx-core.c:340:29: note: Left side of '&&' is false
if ((ven_req->wLength > 4) && ((ven_req->bRequest == 0x4) ||
^
drivers/media/usb/cx231xx/cx231xx-core.c:383:9: note: 6th function call argument is an uninitialized value
ret = __usb_control_msg(dev, pipe, ven_req->bRequest,
^
drivers/media/usb/cx231xx/cx231xx-core.c:635:2: warning: Value stored to 'status' is never read [clang-analyzer-deadcode.DeadStores]
status = cx231xx_read_ctrl_reg(dev, VRT_GET_REGISTER, PWR_CTL_EN,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/media/usb/cx231xx/cx231xx-core.c:635:2: note: Value stored to 'status' is never read
status = cx231xx_read_ctrl_reg(dev, VRT_GET_REGISTER, PWR_CTL_EN,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/media/usb/cx231xx/cx231xx-core.c:644:2: warning: Value stored to 'status' is never read [clang-analyzer-deadcode.DeadStores]
status = cx231xx_write_ctrl_reg(dev, VRT_SET_REGISTER,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/media/usb/cx231xx/cx231xx-core.c:644:2: note: Value stored to 'status' is never read
status = cx231xx_write_ctrl_reg(dev, VRT_SET_REGISTER,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/media/usb/cx231xx/cx231xx-core.c:649:2: warning: Value stored to 'status' is never read [clang-analyzer-deadcode.DeadStores]
status = cx231xx_write_ctrl_reg(dev, VRT_SET_REGISTER,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/media/usb/cx231xx/cx231xx-core.c:649:2: note: Value stored to 'status' is never read
status = cx231xx_write_ctrl_reg(dev, VRT_SET_REGISTER,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/media/usb/cx231xx/cx231xx-core.c:654:2: warning: Value stored to 'status' is never read [clang-analyzer-deadcode.DeadStores]
status = cx231xx_write_ctrl_reg(dev, VRT_SET_REGISTER,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/media/usb/cx231xx/cx231xx-core.c:654:2: note: Value stored to 'status' is never read
status = cx231xx_write_ctrl_reg(dev, VRT_SET_REGISTER,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 1 warnings (1 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
11 warnings generated.
kernel/sched/core.c:5216:16: warning: Value stored to 'preempt_disable_ip' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
unsigned long preempt_disable_ip = get_preempt_disable_ip(current);
^~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/sched/core.c:5216:16: note: Value stored to 'preempt_disable_ip' during its initialization is never read
unsigned long preempt_disable_ip = get_preempt_disable_ip(current);
^~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/sched/core.c:5948:3: warning: Value stored to 'rq' is never read [clang-analyzer-deadcode.DeadStores]
rq = context_switch(rq, prev, next, &rf);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/sched/core.c:5948:3: note: Value stored to 'rq' is never read
rq = context_switch(rq, prev, next, &rf);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/sched/core.c:8944:3: warning: Value stored to 'ptr' is never read [clang-analyzer-deadcode.DeadStores]
ptr += nr_cpu_ids * sizeof(void **);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/sched/core.c:8944:3: note: Value stored to 'ptr' is never read
ptr += nr_cpu_ids * sizeof(void **);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 8 warnings (3 in non-user code, 5 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
4 warnings generated.
kernel/sched/cputime.c:570:3: warning: Value stored to 'utime' is never read [clang-analyzer-deadcode.DeadStores]
utime = rtime;
^ ~~~~~
kernel/sched/cputime.c:570:3: note: Value stored to 'utime' is never read
utime = rtime;
^ ~~~~~
Suppressed 3 warnings (2 in non-user code, 1 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
9 warnings generated.
>> kernel/sched/fair.c:446:21: warning: Access to field 'my_q' results in a dereference of a null pointer (loaded from variable 'se') [clang-analyzer-core.NullDereference]
if (entity_is_task(se))
^
kernel/sched/fair.c:7103:14: note: Assuming 'sched_nr_latency' is > field 'nr_running'
int scale = cfs_rq->nr_running >= sched_nr_latency;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/sched/fair.c:7107:6: note: Assuming the condition is false
if (unlikely(se == pse))
^
include/linux/compiler.h:78:22: note: expanded from macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/sched/fair.c:7107:2: note: Taking false branch
if (unlikely(se == pse))
^
kernel/sched/fair.c:7116:6: note: Assuming the condition is true
if (unlikely(throttled_hierarchy(cfs_rq_of(pse))))
^
include/linux/compiler.h:78:40: note: expanded from macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^~~~
kernel/sched/fair.c:7116:2: note: Taking false branch
if (unlikely(throttled_hierarchy(cfs_rq_of(pse))))
^
kernel/sched/fair.c:7119:29: note: Left side of '&&' is false
if (sched_feat(NEXT_BUDDY) && scale && !(wake_flags & WF_FORK)) {
^
kernel/sched/fair.c:7134:6: note: Calling 'test_tsk_need_resched'
if (test_tsk_need_resched(curr))
^~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/sched.h:1898:9: note: Assuming the condition is true
return unlikely(test_tsk_thread_flag(tsk,TIF_NEED_RESCHED));
^
include/linux/compiler.h:78:40: note: expanded from macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^~~~
include/linux/sched.h:1898:2: note: Returning zero, which participates in a condition later
return unlikely(test_tsk_thread_flag(tsk,TIF_NEED_RESCHED));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/sched/fair.c:7134:6: note: Returning from 'test_tsk_need_resched'
if (test_tsk_need_resched(curr))
^~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/sched/fair.c:7134:2: note: Taking false branch
if (test_tsk_need_resched(curr))
^
kernel/sched/fair.c:7138:43: note: Left side of '&&' is false
if (unlikely(task_has_idle_policy(curr)) &&
^
kernel/sched/fair.c:7146:15: note: Assuming field 'policy' is equal to 0
if (unlikely(p->policy != SCHED_NORMAL) || !sched_feat(WAKEUP_PREEMPTION))
^
include/linux/compiler.h:78:42: note: expanded from macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^
kernel/sched/fair.c:7146:6: note: Left side of '||' is false
if (unlikely(p->policy != SCHED_NORMAL) || !sched_feat(WAKEUP_PREEMPTION))
^
include/linux/compiler.h:78:22: note: expanded from macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^
kernel/sched/fair.c:7146:2: note: Taking false branch
if (unlikely(p->policy != SCHED_NORMAL) || !sched_feat(WAKEUP_PREEMPTION))
^
kernel/sched/fair.c:7149:2: note: Value assigned to 'pse'
find_matching_se(&se, &pse);
^~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/sched/fair.c:7150:9: note: Assuming 'pse' is null
BUG_ON(!pse);
^
arch/mips/include/asm/bug.h:34:44: note: expanded from macro 'BUG_ON'
#define BUG_ON(C) __BUG_ON((unsigned long)(C))
^
kernel/sched/fair.c:7153:27: note: Passing null pointer value via 1st parameter 'se'
pse_is_idle = se_is_idle(pse);
^~~
kernel/sched/fair.c:7153:16: note: Calling 'se_is_idle'
pse_is_idle = se_is_idle(pse);
^~~~~~~~~~~~~~~
kernel/sched/fair.c:446:21: note: Access to field 'my_q' results in a dereference of a null pointer (loaded from variable 'se')
if (entity_is_task(se))
^
kernel/sched/sched.h:736:30: note: expanded from macro 'entity_is_task'
#define entity_is_task(se) (!se->my_q)
^~
kernel/sched/fair.c:676:15: warning: Value stored to 'nr_running' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
unsigned int nr_running = cfs_rq->nr_running;
^~~~~~~~~~ ~~~~~~~~~~~~~~~~~~
kernel/sched/fair.c:676:15: note: Value stored to 'nr_running' during its initialization is never read
unsigned int nr_running = cfs_rq->nr_running;
^~~~~~~~~~ ~~~~~~~~~~~~~~~~~~
kernel/sched/fair.c:5959:6: warning: Value stored to 'target' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
int target = nr_cpumask_bits;
^~~~~~
kernel/sched/fair.c:5959:6: note: Value stored to 'target' during its initialization is never read
int target = nr_cpumask_bits;
^~~~~~
kernel/sched/fair.c:6379:6: warning: 1st function call argument is an uninitialized value [clang-analyzer-core.CallAndMessage]
asym_fits_capacity(task_util, target))
^
kernel/sched/fair.c:6881:14: note: Assuming the condition is false
int sync = (wake_flags & WF_SYNC) && !(current->flags & PF_EXITING);
vim +446 kernel/sched/fair.c
304000390f88d0 Josh Don 2021-07-29 443
304000390f88d0 Josh Don 2021-07-29 444 static int se_is_idle(struct sched_entity *se)
304000390f88d0 Josh Don 2021-07-29 445 {
304000390f88d0 Josh Don 2021-07-29 @446 if (entity_is_task(se))
304000390f88d0 Josh Don 2021-07-29 447 return task_has_idle_policy(task_of(se));
304000390f88d0 Josh Don 2021-07-29 448 return cfs_rq_is_idle(group_cfs_rq(se));
304000390f88d0 Josh Don 2021-07-29 449 }
304000390f88d0 Josh Don 2021-07-29 450
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 31226 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2021-08-26 20:51 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-26 20:51 [tip:sched/core 2/11] kernel/sched/fair.c:446:21: warning: Access to field 'my_q' results in a dereference of a null pointer (loaded from variable 'se') [clang-analyzer-core.NullDereference] 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.