lkml.org 
[lkml]   [2021]   [Dec]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subjectsound/soc/qcom/qdsp6/topology.c:336 audioreach_parse_sg_tokens() error: potentially dereferencing uninitialized 'sg'.
tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: c741e49150dbb0c0aebe234389f4aa8b47958fa8
commit: 36ad9bf1d93d66b901342eab9f8ed6c1537655a6 ASoC: qdsp6: audioreach: add topology support
date: 6 weeks ago
config: riscv-randconfig-m031-20211210 (https://download.01.org/0day-ci/archive/20211210/202112102206.S7otMlhZ-lkp@intel.com/config)
compiler: riscv64-linux-gcc (GCC) 11.2.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

New smatch warnings:
sound/soc/qcom/qdsp6/topology.c:336 audioreach_parse_sg_tokens() error: potentially dereferencing uninitialized 'sg'.
sound/soc/qcom/qdsp6/topology.c:355 audioreach_parse_sg_tokens() error: uninitialized symbol 'sg'.
sound/soc/qcom/qdsp6/topology.c:382 audioreach_parse_cont_tokens() error: potentially dereferencing uninitialized 'cont'.
sound/soc/qcom/qdsp6/topology.c:402 audioreach_parse_cont_tokens() error: uninitialized symbol 'cont'.

Old smatch warnings:
sound/soc/qcom/qdsp6/topology.c:339 audioreach_parse_sg_tokens() error: potentially dereferencing uninitialized 'sg'.
sound/soc/qcom/qdsp6/topology.c:342 audioreach_parse_sg_tokens() error: potentially dereferencing uninitialized 'sg'.
sound/soc/qcom/qdsp6/topology.c:357 audioreach_parse_sg_tokens() error: uninitialized symbol 'sg'.
sound/soc/qcom/qdsp6/topology.c:385 audioreach_parse_cont_tokens() error: potentially dereferencing uninitialized 'cont'.
sound/soc/qcom/qdsp6/topology.c:388 audioreach_parse_cont_tokens() error: potentially dereferencing uninitialized 'cont'.
sound/soc/qcom/qdsp6/topology.c:391 audioreach_parse_cont_tokens() error: potentially dereferencing uninitialized 'cont'.

vim +/sg +336 sound/soc/qcom/qdsp6/topology.c

36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 303 static struct audioreach_sub_graph *audioreach_parse_sg_tokens(struct q6apm *apm,
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 304 struct snd_soc_tplg_private *private)
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 305 {
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 306 struct snd_soc_tplg_vendor_value_elem *sg_elem;
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 307 struct snd_soc_tplg_vendor_array *sg_array;
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 308 struct audioreach_graph_info *info = NULL;
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 309 int graph_id, sub_graph_id, tkn_count = 0;
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 310 struct audioreach_sub_graph *sg;
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 311 bool found;
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 312
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 313 sg_array = audioreach_get_sg_array(private);
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 314 sg_elem = sg_array->value;
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 315
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 316 while (tkn_count <= (le32_to_cpu(sg_array->num_elems) - 1)) {
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 317 switch (le32_to_cpu(sg_elem->token)) {
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 318 case AR_TKN_U32_SUB_GRAPH_INSTANCE_ID:
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 319 sub_graph_id = le32_to_cpu(sg_elem->value);
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 320 sg = audioreach_tplg_alloc_sub_graph(apm, sub_graph_id, &found);
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 321 if (IS_ERR(sg)) {
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 322 return sg;
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 323 } else if (found) {
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 324 /* Already parsed data for this sub-graph */
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 325 return sg;
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 326 }
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 327 break;
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 328 case AR_TKN_DAI_INDEX:
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 329 /* Sub graph is associated with predefined graph */
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 330 graph_id = le32_to_cpu(sg_elem->value);
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 331 info = audioreach_tplg_alloc_graph_info(apm, graph_id, &found);
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 332 if (IS_ERR(info))
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 333 return ERR_CAST(info);
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 334 break;
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 335 case AR_TKN_U32_SUB_GRAPH_PERF_MODE:
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 @336 sg->perf_mode = le32_to_cpu(sg_elem->value);
^^^^
Static checkers don't like that we assume the first element of the
array is AR_TKN_U32_SUB_GRAPH_INSTANCE_ID.

36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 337 break;
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 338 case AR_TKN_U32_SUB_GRAPH_DIRECTION:
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 339 sg->direction = le32_to_cpu(sg_elem->value);
^^^^

36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 340 break;
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 341 case AR_TKN_U32_SUB_GRAPH_SCENARIO_ID:
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 342 sg->scenario_id = le32_to_cpu(sg_elem->value);
^^^^

36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 343 break;
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 344 default:
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 345 dev_err(apm->dev, "Not a valid token %d for graph\n", sg_elem->token);
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 346 break;
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 347
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 348 }
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 349 tkn_count++;
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 350 sg_elem++;
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 351 }
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 352
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 353 /* Sub graph is associated with predefined graph */
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 354 if (info)
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 @355 audioreach_tplg_add_sub_graph(sg, info);
^^

36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 356
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 357 return sg;
36ad9bf1d93d66 Srinivas Kandagatla 2021-10-26 358 }

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

\
 
 \ /
  Last update: 2021-12-10 16:03    [W:0.052 / U:0.792 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site