:::::: :::::: Manual check reason: "low confidence bisect report" :::::: Manual check reason: "low confidence static check warning: drivers/tee/optee/smc_abi.c:52:21: warning: use of uninitialized value '<unknown>' [CWE-457] [-Wanalyzer-use-of-uninitialized-value]" ::::::
BCC: [email protected] CC: [email protected] CC: [email protected] TO: Jens Wiklander <[email protected]> CC: Sumit Garg <[email protected]> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 7726d4c3e60bfe206738894267414a5f10510f1a commit: c51a564a5b48355f30309b84cdffe3f96d1ae0d3 optee: isolate smc abi date: 11 months ago :::::: branch date: 9 hours ago :::::: commit date: 11 months ago config: arm-randconfig-c002-20220831 (https://download.01.org/0day-ci/archive/20220904/[email protected]/config) compiler: arm-linux-gnueabi-gcc (GCC) 12.1.0 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 # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c51a564a5b48355f30309b84cdffe3f96d1ae0d3 git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git git fetch --no-tags linus master git checkout c51a564a5b48355f30309b84cdffe3f96d1ae0d3 # save the config file COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross ARCH=arm KBUILD_USERCFLAGS='-fanalyzer -Wno-error' If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot <[email protected]> gcc_analyzer warnings: (new ones prefixed by >>) In file included from include/trace/define_trace.h:103, from drivers/tee/optee/optee_trace.h:67, from drivers/tee/optee/smc_abi.c:26: drivers/tee/optee/./optee_trace.h: In function 'perf_trace_optee_invoke_fn_begin': include/trace/perf.h:38:25: warning: use of uninitialized value '<unknown>' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 38 | struct pt_regs *__regs; \ | ^~~~~~ include/trace/trace_events.h:75:9: note: in expansion of macro 'DECLARE_EVENT_CLASS' 75 | DECLARE_EVENT_CLASS(name, \ | ^~~~~~~~~~~~~~~~~~~ drivers/tee/optee/./optee_trace.h:19:1: note: in expansion of macro 'TRACE_EVENT' 19 | TRACE_EVENT(optee_invoke_fn_begin, | ^~~~~~~~~~~ 'perf_trace_optee_invoke_fn_begin': event 1 | |include/trace/perf.h:38:25: | 38 | struct pt_regs *__regs; \ | | ^~~~~~ | | | | | (1) use of uninitialized value '<unknown>' here include/trace/trace_events.h:75:9: note: in expansion of macro 'DECLARE_EVENT_CLASS' | 75 | DECLARE_EVENT_CLASS(name, \ | | ^~~~~~~~~~~~~~~~~~~ drivers/tee/optee/./optee_trace.h:19:1: note: in expansion of macro 'TRACE_EVENT' | 19 | TRACE_EVENT(optee_invoke_fn_begin, | | ^~~~~~~~~~~ | include/trace/perf.h:44:13: warning: use of uninitialized value '<unknown>' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 44 | int rctx; \ | ^~~~ include/trace/trace_events.h:75:9: note: in expansion of macro 'DECLARE_EVENT_CLASS' 75 | DECLARE_EVENT_CLASS(name, \ | ^~~~~~~~~~~~~~~~~~~ drivers/tee/optee/./optee_trace.h:19:1: note: in expansion of macro 'TRACE_EVENT' 19 | TRACE_EVENT(optee_invoke_fn_begin, | ^~~~~~~~~~~ 'perf_trace_optee_invoke_fn_begin': event 1 | |include/trace/perf.h:44:13: | 44 | int rctx; \ | | ^~~~ | | | | | (1) use of uninitialized value '<unknown>' here include/trace/trace_events.h:75:9: note: in expansion of macro 'DECLARE_EVENT_CLASS' | 75 | DECLARE_EVENT_CLASS(name, \ | | ^~~~~~~~~~~~~~~~~~~ drivers/tee/optee/./optee_trace.h:19:1: note: in expansion of macro 'TRACE_EVENT' | 19 | TRACE_EVENT(optee_invoke_fn_begin, | | ^~~~~~~~~~~ | drivers/tee/optee/./optee_trace.h: In function 'perf_trace_optee_invoke_fn_end': include/trace/perf.h:38:25: warning: use of uninitialized value '<unknown>' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 38 | struct pt_regs *__regs; \ | ^~~~~~ include/trace/trace_events.h:75:9: note: in expansion of macro 'DECLARE_EVENT_CLASS' 75 | DECLARE_EVENT_CLASS(name, \ | ^~~~~~~~~~~~~~~~~~~ drivers/tee/optee/./optee_trace.h:40:1: note: in expansion of macro 'TRACE_EVENT' 40 | TRACE_EVENT(optee_invoke_fn_end, | ^~~~~~~~~~~ 'perf_trace_optee_invoke_fn_end': event 1 | |include/trace/perf.h:38:25: | 38 | struct pt_regs *__regs; \ | | ^~~~~~ | | | | | (1) use of uninitialized value '<unknown>' here include/trace/trace_events.h:75:9: note: in expansion of macro 'DECLARE_EVENT_CLASS' | 75 | DECLARE_EVENT_CLASS(name, \ | | ^~~~~~~~~~~~~~~~~~~ drivers/tee/optee/./optee_trace.h:40:1: note: in expansion of macro 'TRACE_EVENT' | 40 | TRACE_EVENT(optee_invoke_fn_end, | | ^~~~~~~~~~~ | include/trace/perf.h:44:13: warning: use of uninitialized value '<unknown>' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 44 | int rctx; \ | ^~~~ include/trace/trace_events.h:75:9: note: in expansion of macro 'DECLARE_EVENT_CLASS' 75 | DECLARE_EVENT_CLASS(name, \ | ^~~~~~~~~~~~~~~~~~~ drivers/tee/optee/./optee_trace.h:40:1: note: in expansion of macro 'TRACE_EVENT' 40 | TRACE_EVENT(optee_invoke_fn_end, | ^~~~~~~~~~~ 'perf_trace_optee_invoke_fn_end': event 1 | |include/trace/perf.h:44:13: | 44 | int rctx; \ | | ^~~~ | | | | | (1) use of uninitialized value '<unknown>' here include/trace/trace_events.h:75:9: note: in expansion of macro 'DECLARE_EVENT_CLASS' | 75 | DECLARE_EVENT_CLASS(name, \ | | ^~~~~~~~~~~~~~~~~~~ drivers/tee/optee/./optee_trace.h:40:1: note: in expansion of macro 'TRACE_EVENT' | 40 | TRACE_EVENT(optee_invoke_fn_end, | | ^~~~~~~~~~~ | drivers/tee/optee/smc_abi.c: In function 'from_msg_param_tmp_mem': >> drivers/tee/optee/smc_abi.c:52:21: warning: use of uninitialized value >> '<unknown>' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 52 | phys_addr_t pa; | ^~ 'from_msg_param_tmp_mem': event 1 | | 52 | phys_addr_t pa; | | ^~ | | | | | (1) use of uninitialized value '<unknown>' here | drivers/tee/optee/smc_abi.c: In function 'to_msg_param_tmp_mem': drivers/tee/optee/smc_abi.c:159:21: warning: use of uninitialized value '<unknown>' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 159 | phys_addr_t pa; | ^~ 'to_msg_param_tmp_mem': event 1 | | 159 | phys_addr_t pa; | | ^~ | | | | | (1) use of uninitialized value '<unknown>' here | drivers/tee/optee/smc_abi.c: In function 'optee_shm_register': drivers/tee/optee/smc_abi.c:433:31: warning: use of uninitialized value '<unknown>' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 433 | struct optee_msg_arg *msg_arg; | ^~~~~~~ 'optee_shm_register': event 1 | | 433 | struct optee_msg_arg *msg_arg; | | ^~~~~~~ | | | | | (1) use of uninitialized value '<unknown>' here | drivers/tee/optee/smc_abi.c: In function 'optee_shm_unregister': drivers/tee/optee/smc_abi.c:483:31: warning: use of uninitialized value '<unknown>' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 483 | struct optee_msg_arg *msg_arg; | ^~~~~~~ 'optee_shm_unregister': event 1 | | 483 | struct optee_msg_arg *msg_arg; | | ^~~~~~~ | | | | | (1) use of uninitialized value '<unknown>' here | drivers/tee/optee/smc_abi.c: In function 'handle_rpc_func_cmd_shm_alloc': drivers/tee/optee/smc_abi.c:622:21: warning: use of uninitialized value '<unknown>' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 622 | phys_addr_t pa; | ^~ 'handle_rpc_func_cmd_shm_alloc': event 1 | | 622 | phys_addr_t pa; | | ^~ | | | | | (1) use of uninitialized value '<unknown>' here | drivers/tee/optee/smc_abi.c: In function 'optee_handle_rpc': drivers/tee/optee/smc_abi.c:769:21: warning: use of uninitialized value '<unknown>' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 769 | phys_addr_t pa; | ^~ 'optee_handle_rpc': event 1 | | 769 | phys_addr_t pa; | | ^~ | | | | | (1) use of uninitialized value '<unknown>' here | drivers/tee/optee/smc_abi.c: In function 'optee_smc_do_call_with_arg': drivers/tee/optee/smc_abi.c:828:21: warning: use of uninitialized value '<unknown>' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 828 | phys_addr_t parg; | ^~~~ 'optee_smc_do_call_with_arg': event 1 | | 828 | phys_addr_t parg; | | ^~~~ | | | | | (1) use of uninitialized value '<unknown>' here | drivers/tee/optee/smc_abi.c: In function 'get_invoke_func': drivers/tee/optee/smc_abi.c:1153:21: warning: use of uninitialized value '<unknown>' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 1153 | const char *method; | ^~~~~~ 'get_invoke_func': event 1 | | 1153 | const char *method; | | ^~~~~~ | | | | | (1) use of uninitialized value '<unknown>' here | drivers/tee/optee/smc_abi.c: In function 'optee_probe': drivers/tee/optee/smc_abi.c:1217:13: warning: use of uninitialized value '<unknown>' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 1217 | u32 sec_caps; | ^~~~~~~~ 'optee_probe': event 1 | | 1217 | u32 sec_caps; | | ^~~~~~~~ | | | | | (1) use of uninitialized value '<unknown>' here | vim +52 drivers/tee/optee/smc_abi.c c51a564a5b4835 Jens Wiklander 2021-07-21 40 c51a564a5b4835 Jens Wiklander 2021-07-21 41 /* c51a564a5b4835 Jens Wiklander 2021-07-21 42 * 1. Convert between struct tee_param and struct optee_msg_param c51a564a5b4835 Jens Wiklander 2021-07-21 43 * c51a564a5b4835 Jens Wiklander 2021-07-21 44 * optee_from_msg_param() and optee_to_msg_param() are the main c51a564a5b4835 Jens Wiklander 2021-07-21 45 * functions. c51a564a5b4835 Jens Wiklander 2021-07-21 46 */ c51a564a5b4835 Jens Wiklander 2021-07-21 47 c51a564a5b4835 Jens Wiklander 2021-07-21 48 static int from_msg_param_tmp_mem(struct tee_param *p, u32 attr, c51a564a5b4835 Jens Wiklander 2021-07-21 49 const struct optee_msg_param *mp) c51a564a5b4835 Jens Wiklander 2021-07-21 50 { c51a564a5b4835 Jens Wiklander 2021-07-21 51 struct tee_shm *shm; c51a564a5b4835 Jens Wiklander 2021-07-21 @52 phys_addr_t pa; c51a564a5b4835 Jens Wiklander 2021-07-21 53 int rc; c51a564a5b4835 Jens Wiklander 2021-07-21 54 c51a564a5b4835 Jens Wiklander 2021-07-21 55 p->attr = TEE_IOCTL_PARAM_ATTR_TYPE_MEMREF_INPUT + c51a564a5b4835 Jens Wiklander 2021-07-21 56 attr - OPTEE_MSG_ATTR_TYPE_TMEM_INPUT; c51a564a5b4835 Jens Wiklander 2021-07-21 57 p->u.memref.size = mp->u.tmem.size; c51a564a5b4835 Jens Wiklander 2021-07-21 58 shm = (struct tee_shm *)(unsigned long)mp->u.tmem.shm_ref; c51a564a5b4835 Jens Wiklander 2021-07-21 59 if (!shm) { c51a564a5b4835 Jens Wiklander 2021-07-21 60 p->u.memref.shm_offs = 0; c51a564a5b4835 Jens Wiklander 2021-07-21 61 p->u.memref.shm = NULL; c51a564a5b4835 Jens Wiklander 2021-07-21 62 return 0; c51a564a5b4835 Jens Wiklander 2021-07-21 63 } c51a564a5b4835 Jens Wiklander 2021-07-21 64 c51a564a5b4835 Jens Wiklander 2021-07-21 65 rc = tee_shm_get_pa(shm, 0, &pa); c51a564a5b4835 Jens Wiklander 2021-07-21 66 if (rc) c51a564a5b4835 Jens Wiklander 2021-07-21 67 return rc; c51a564a5b4835 Jens Wiklander 2021-07-21 68 c51a564a5b4835 Jens Wiklander 2021-07-21 69 p->u.memref.shm_offs = mp->u.tmem.buf_ptr - pa; c51a564a5b4835 Jens Wiklander 2021-07-21 70 p->u.memref.shm = shm; c51a564a5b4835 Jens Wiklander 2021-07-21 71 c51a564a5b4835 Jens Wiklander 2021-07-21 72 /* Check that the memref is covered by the shm object */ c51a564a5b4835 Jens Wiklander 2021-07-21 73 if (p->u.memref.size) { c51a564a5b4835 Jens Wiklander 2021-07-21 74 size_t o = p->u.memref.shm_offs + c51a564a5b4835 Jens Wiklander 2021-07-21 75 p->u.memref.size - 1; c51a564a5b4835 Jens Wiklander 2021-07-21 76 c51a564a5b4835 Jens Wiklander 2021-07-21 77 rc = tee_shm_get_pa(shm, o, NULL); c51a564a5b4835 Jens Wiklander 2021-07-21 78 if (rc) c51a564a5b4835 Jens Wiklander 2021-07-21 79 return rc; c51a564a5b4835 Jens Wiklander 2021-07-21 80 } c51a564a5b4835 Jens Wiklander 2021-07-21 81 c51a564a5b4835 Jens Wiklander 2021-07-21 82 return 0; c51a564a5b4835 Jens Wiklander 2021-07-21 83 } c51a564a5b4835 Jens Wiklander 2021-07-21 84 -- 0-DAY CI Kernel Test Service https://01.org/lkp _______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
