:::::: 
:::::: 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]

Reply via email to