CC: [email protected] CC: [email protected] BCC: [email protected] CC: [email protected] TO: Ming Qian <[email protected]> CC: Hans Verkuil <[email protected]>
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/[email protected]/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 <[email protected]> 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 <[email protected]> :::::: CC: Hans Verkuil <[email protected]> -- 0-DAY CI Kernel Test Service https://01.org/lkp _______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
