All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild@lists.01.org
Subject: drivers/media/platform/amphion/vpu_msgs.c:138:11: warning: Assigned value is garbage or undefined [clang-analyzer-core.uninitialized.Assign]
Date: Sun, 01 May 2022 12:29:49 +0800	[thread overview]
Message-ID: <202205011201.ePEvrkWw-lkp@intel.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 16465 bytes --]

CC: llvm(a)lists.linux.dev
CC: kbuild-all(a)lists.01.org
BCC: lkp(a)intel.com
CC: linux-kernel(a)vger.kernel.org
TO: Ming Qian <ming.qian@nxp.com>
CC: Hans Verkuil <hverkuil@xs4all.nl>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   57ae8a492116910bad2b3497ffe555b3a4b4180f
commit: 42356ecbdb69e49cffd0c1df791280965f9f90e1 media: amphion: add amphion vpu entry in Kconfig and Makefile
date:   8 weeks ago
:::::: branch date: 11 hours ago
:::::: commit date: 8 weeks ago
config: arm-randconfig-c002-20220427 (https://download.01.org/0day-ci/archive/20220501/202205011201.ePEvrkWw-lkp(a)intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 1cddcfdc3c683b393df1a5c9063252eb60e52818)
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 arm cross compiling tool for clang build
        # apt-get install binutils-arm-linux-gnueabi
        # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=42356ecbdb69e49cffd0c1df791280965f9f90e1
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout 42356ecbdb69e49cffd0c1df791280965f9f90e1
        # save the config file
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm 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 >>)
                   ^
   include/linux/dev_printk.h:105:2: note: expanded from macro 'dev_printk_index_emit'
           printk_index_subsys_emit("%s %s: ", level, fmt)
           ^
   include/linux/printk.h:413:2: note: expanded from macro 'printk_index_subsys_emit'
           __printk_index_emit(fmt, level, subsys_fmt_prefix)
           ^
   include/linux/printk.h:383:14: note: expanded from macro '__printk_index_emit'
                                   .level = __builtin_constant_p(_level) ? (_level) : NULL, \
                                            ^
   drivers/media/platform/amphion/vpu_msgs.c:38:2: note: Loop condition is false.  Exiting loop
           vpu_trace(inst->dev, "[%d] %d:%d %d:%d %d:%d\n",
           ^
   drivers/media/platform/amphion/vpu.h:359:4: note: expanded from macro 'vpu_trace'
                           dev_info(dev, "%s: " fmt, __func__, ## arg);    \
                           ^
   include/linux/dev_printk.h:150:2: note: expanded from macro 'dev_info'
           dev_printk_index_wrap(_dev_info, KERN_INFO, dev, dev_fmt(fmt), ##__VA_ARGS__)
           ^
   include/linux/dev_printk.h:109:3: note: expanded from macro 'dev_printk_index_wrap'
                   dev_printk_index_emit(level, fmt);                      \
                   ^
   include/linux/dev_printk.h:105:2: note: expanded from macro 'dev_printk_index_emit'
           printk_index_subsys_emit("%s %s: ", level, fmt)
           ^
   include/linux/printk.h:413:2: note: expanded from macro 'printk_index_subsys_emit'
           __printk_index_emit(fmt, level, subsys_fmt_prefix)
           ^
   include/linux/printk.h:369:2: note: expanded from macro '__printk_index_emit'
           do {                                                            \
           ^
   drivers/media/platform/amphion/vpu_msgs.c:38:2: note: 5th function call argument is an uninitialized value
           vpu_trace(inst->dev, "[%d] %d:%d %d:%d %d:%d\n",
           ^
   drivers/media/platform/amphion/vpu.h:359:4: note: expanded from macro 'vpu_trace'
                           dev_info(dev, "%s: " fmt, __func__, ## arg);    \
                           ^                                      ~~~
   include/linux/dev_printk.h:150:24: note: expanded from macro 'dev_info'
           dev_printk_index_wrap(_dev_info, KERN_INFO, dev, dev_fmt(fmt), ##__VA_ARGS__)
                                 ^                                          ~~~~~~~~~~~
   include/linux/dev_printk.h:110:3: note: expanded from macro 'dev_printk_index_wrap'
                   _p_func(dev, fmt, ##__VA_ARGS__);                       \
                   ^                   ~~~~~~~~~~~
   drivers/media/platform/amphion/vpu_msgs.c:46:2: warning: 2nd function call argument is an uninitialized value [clang-analyzer-core.CallAndMessage]
           call_void_vop(inst, mem_request,
           ^
   drivers/media/platform/amphion/vpu.h:286:4: note: expanded from macro 'call_void_vop'
                           (inst)->ops->op(inst, ##args);                          \
                           ^                       ~~~~
   drivers/media/platform/amphion/vpu_msgs.c:37:2: note: Calling 'vpu_iface_unpack_msg_data'
           vpu_iface_unpack_msg_data(inst->core, pkt, (void *)&req_data);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/media/platform/amphion/vpu_rpc.h:305:6: note: Assuming 'ops' is null
           if (!ops || !ops->unpack_msg_data)
               ^~~~
   drivers/media/platform/amphion/vpu_rpc.h:305:11: note: Left side of '||' is true
           if (!ops || !ops->unpack_msg_data)
                    ^
   drivers/media/platform/amphion/vpu_rpc.h:306:3: note: Returning without writing to 'data->enc_frame_size'
                   return -EINVAL;
                   ^
   drivers/media/platform/amphion/vpu_msgs.c:37:2: note: Returning from 'vpu_iface_unpack_msg_data'
           vpu_iface_unpack_msg_data(inst->core, pkt, (void *)&req_data);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/media/platform/amphion/vpu_msgs.c:38:2: note: Assuming 'debug' is false
           vpu_trace(inst->dev, "[%d] %d:%d %d:%d %d:%d\n",
           ^
   drivers/media/platform/amphion/vpu.h:358:7: note: expanded from macro 'vpu_trace'
                   if (debug)                                              \
                       ^~~~~
   drivers/media/platform/amphion/vpu_msgs.c:38:2: note: Taking false branch
           vpu_trace(inst->dev, "[%d] %d:%d %d:%d %d:%d\n",
           ^
   drivers/media/platform/amphion/vpu.h:358:3: note: expanded from macro 'vpu_trace'
                   if (debug)                                              \
                   ^
   drivers/media/platform/amphion/vpu_msgs.c:38:2: note: Loop condition is false.  Exiting loop
           vpu_trace(inst->dev, "[%d] %d:%d %d:%d %d:%d\n",
           ^
   drivers/media/platform/amphion/vpu.h:357:2: note: expanded from macro 'vpu_trace'
           do {                                                            \
           ^
   drivers/media/platform/amphion/vpu_msgs.c:46:2: note: Assuming field 'mem_request' is non-null
           call_void_vop(inst, mem_request,
           ^
   drivers/media/platform/amphion/vpu.h:285:7: note: expanded from macro 'call_void_vop'
                   if ((inst)->ops->op)                                    \
                       ^~~~~~~~~~~~~~~
   drivers/media/platform/amphion/vpu_msgs.c:46:2: note: Taking true branch
           call_void_vop(inst, mem_request,
           ^
   drivers/media/platform/amphion/vpu.h:285:3: note: expanded from macro 'call_void_vop'
                   if ((inst)->ops->op)                                    \
                   ^
   drivers/media/platform/amphion/vpu_msgs.c:46:2: note: 2nd function call argument is an uninitialized value
           call_void_vop(inst, mem_request,
           ^
   drivers/media/platform/amphion/vpu.h:286:4: note: expanded from macro 'call_void_vop'
                           (inst)->ops->op(inst, ##args);                          \
                           ^                       ~~~~
>> drivers/media/platform/amphion/vpu_msgs.c:138:11: warning: Assigned value is garbage or undefined [clang-analyzer-core.uninitialized.Assign]
           frame.id = info.id;
                    ^ ~~~~~~~
   drivers/media/platform/amphion/vpu_msgs.c:135:2: note: Calling 'vpu_iface_unpack_msg_data'
           vpu_iface_unpack_msg_data(inst->core, pkt, (void *)&info);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/media/platform/amphion/vpu_rpc.h:305:6: note: Assuming 'ops' is null
           if (!ops || !ops->unpack_msg_data)
               ^~~~
   drivers/media/platform/amphion/vpu_rpc.h:305:11: note: Left side of '||' is true
           if (!ops || !ops->unpack_msg_data)
                    ^
   drivers/media/platform/amphion/vpu_rpc.h:306:3: note: Returning without writing to 'data->id'
                   return -EINVAL;
                   ^
   drivers/media/platform/amphion/vpu_msgs.c:135:2: note: Returning from 'vpu_iface_unpack_msg_data'
           vpu_iface_unpack_msg_data(inst->core, pkt, (void *)&info);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/media/platform/amphion/vpu_msgs.c:136:6: note: Assuming field 'type' is not equal to VPU_CORE_TYPE_DEC
           if (inst->core->type == VPU_CORE_TYPE_DEC)
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/media/platform/amphion/vpu_msgs.c:136:2: note: Taking false branch
           if (inst->core->type == VPU_CORE_TYPE_DEC)
           ^
   drivers/media/platform/amphion/vpu_msgs.c:138:11: note: Assigned value is garbage or undefined
           frame.id = info.id;
                    ^ ~~~~~~~
   Suppressed 1 warnings (1 with check filters).
   4 warnings generated.
   drivers/media/platform/qcom/camss/camss-vfe-170.c:184:6: warning: Value stored to 'gen' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           u32 gen = (hw_version >> 28) & 0xF;
               ^~~   ~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/media/platform/qcom/camss/camss-vfe-170.c:184:6: note: Value stored to 'gen' during its initialization is never read
           u32 gen = (hw_version >> 28) & 0xF;
               ^~~   ~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/media/platform/qcom/camss/camss-vfe-170.c:185:6: warning: Value stored to 'rev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           u32 rev = (hw_version >> 16) & 0xFFF;
               ^~~   ~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/media/platform/qcom/camss/camss-vfe-170.c:185:6: note: Value stored to 'rev' during its initialization is never read
           u32 rev = (hw_version >> 16) & 0xFFF;
               ^~~   ~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/media/platform/qcom/camss/camss-vfe-170.c:186:6: warning: Value stored to 'step' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           u32 step = hw_version & 0xFFFF;
               ^~~~   ~~~~~~~~~~~~~~~~~~~
   drivers/media/platform/qcom/camss/camss-vfe-170.c:186:6: note: Value stored to 'step' during its initialization is never read
           u32 step = hw_version & 0xFFFF;
               ^~~~   ~~~~~~~~~~~~~~~~~~~
   Suppressed 1 warnings (1 with check filters).
   4 warnings generated.
   drivers/media/platform/qcom/camss/camss-vfe-480.c:101:6: warning: Value stored to 'gen' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           u32 gen = (hw_version >> 28) & 0xF;
               ^~~   ~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/media/platform/qcom/camss/camss-vfe-480.c:101:6: note: Value stored to 'gen' during its initialization is never read
           u32 gen = (hw_version >> 28) & 0xF;
               ^~~   ~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/media/platform/qcom/camss/camss-vfe-480.c:102:6: warning: Value stored to 'rev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           u32 rev = (hw_version >> 16) & 0xFFF;
               ^~~   ~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/media/platform/qcom/camss/camss-vfe-480.c:102:6: note: Value stored to 'rev' during its initialization is never read
           u32 rev = (hw_version >> 16) & 0xFFF;
               ^~~   ~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/media/platform/qcom/camss/camss-vfe-480.c:103:6: warning: Value stored to 'step' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           u32 step = hw_version & 0xFFFF;
               ^~~~   ~~~~~~~~~~~~~~~~~~~
   drivers/media/platform/qcom/camss/camss-vfe-480.c:103:6: note: Value stored to 'step' during its initialization is never read
           u32 step = hw_version & 0xFFFF;
               ^~~~   ~~~~~~~~~~~~~~~~~~~
   Suppressed 1 warnings (1 with check filters).
   1 warning generated.
   Suppressed 1 warnings (1 with check filters).
   2 warnings generated.
   include/media/v4l2-subdev.h:987:10: warning: Access to field 'pads' results in a dereference of a null pointer (loaded from variable 'state') [clang-analyzer-core.NullDereference]
           return &state->pads[pad].try_fmt;
                   ^
   drivers/media/platform/qcom/camss/camss-vfe.c:1533:14: note: Assuming 'i' is < field 'line_num'
           for (i = 0; i < vfe->line_num; i++) {
                       ^~~~~~~~~~~~~~~~~
   drivers/media/platform/qcom/camss/camss-vfe.c:1533:2: note: Loop condition is true.  Entering loop body
           for (i = 0; i < vfe->line_num; i++) {
           ^
   drivers/media/platform/qcom/camss/camss-vfe.c:1543:7: note: 'i' is not equal to VFE_LINE_PIX
                   if (i == VFE_LINE_PIX)
                       ^
   drivers/media/platform/qcom/camss/camss-vfe.c:1543:3: note: Taking false branch
                   if (i == VFE_LINE_PIX)
                   ^
   drivers/media/platform/qcom/camss/camss-vfe.c:1552:9: note: Calling 'vfe_init_formats'
                   ret = vfe_init_formats(sd, NULL);
                         ^~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/media/platform/qcom/camss/camss-vfe.c:1260:12: note: 'fh' is null
                   .which = fh ? V4L2_SUBDEV_FORMAT_TRY :
                            ^~
   drivers/media/platform/qcom/camss/camss-vfe.c:1260:12: note: '?' condition is false
   drivers/media/platform/qcom/camss/camss-vfe.c:1269:28: note: 'fh' is null
           return vfe_set_format(sd, fh ? fh->state : NULL, &format);
                                     ^~
   drivers/media/platform/qcom/camss/camss-vfe.c:1269:28: note: '?' condition is false
   drivers/media/platform/qcom/camss/camss-vfe.c:1269:28: note: Passing null pointer value via 2nd parameter 'sd_state'
           return vfe_set_format(sd, fh ? fh->state : NULL, &format);
                                     ^~
   drivers/media/platform/qcom/camss/camss-vfe.c:1269:9: note: Calling 'vfe_set_format'

vim +138 drivers/media/platform/amphion/vpu_msgs.c

61cbf1c1fa6d74 Ming Qian 2022-02-24  128  
61cbf1c1fa6d74 Ming Qian 2022-02-24  129  static void vpu_session_handle_pic_done(struct vpu_inst *inst, struct vpu_rpc_event *pkt)
61cbf1c1fa6d74 Ming Qian 2022-02-24  130  {
61cbf1c1fa6d74 Ming Qian 2022-02-24  131  	struct vpu_dec_pic_info info;
61cbf1c1fa6d74 Ming Qian 2022-02-24  132  	struct vpu_frame_info frame;
61cbf1c1fa6d74 Ming Qian 2022-02-24  133  
61cbf1c1fa6d74 Ming Qian 2022-02-24  134  	memset(&frame, 0, sizeof(frame));
61cbf1c1fa6d74 Ming Qian 2022-02-24  135  	vpu_iface_unpack_msg_data(inst->core, pkt, (void *)&info);
61cbf1c1fa6d74 Ming Qian 2022-02-24  136  	if (inst->core->type == VPU_CORE_TYPE_DEC)
61cbf1c1fa6d74 Ming Qian 2022-02-24  137  		frame.type = inst->cap_format.type;
61cbf1c1fa6d74 Ming Qian 2022-02-24 @138  	frame.id = info.id;
61cbf1c1fa6d74 Ming Qian 2022-02-24  139  	frame.luma = info.luma;
61cbf1c1fa6d74 Ming Qian 2022-02-24  140  	frame.skipped = info.skipped;
61cbf1c1fa6d74 Ming Qian 2022-02-24  141  	frame.timestamp = info.timestamp;
61cbf1c1fa6d74 Ming Qian 2022-02-24  142  
61cbf1c1fa6d74 Ming Qian 2022-02-24  143  	call_void_vop(inst, buf_done, &frame);
61cbf1c1fa6d74 Ming Qian 2022-02-24  144  }
61cbf1c1fa6d74 Ming Qian 2022-02-24  145  

:::::: The code at line 138 was first introduced by commit
:::::: 61cbf1c1fa6d74a6a232a365e0aeddcab11036e4 media: amphion: implement vpu core communication based on mailbox

:::::: TO: Ming Qian <ming.qian@nxp.com>
:::::: CC: Hans Verkuil <hverkuil-cisco@xs4all.nl>

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

             reply	other threads:[~2022-05-01  4:29 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-01  4:29 kernel test robot [this message]
2022-05-03  5:50 drivers/media/platform/amphion/vpu_msgs.c:138:11: warning: Assigned value is garbage or undefined [clang-analyzer-core.uninitialized.Assign] kernel test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202205011201.ePEvrkWw-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild@lists.01.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.