All of lore.kernel.org
 help / color / mirror / Atom feed
* sound/soc/qcom/qdsp6/q6afe.c:995 q6afe_set_param() warn: is 'p' large enough for 'struct apr_pkt'? 0
@ 2021-08-04 12:27 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-08-04 12:27 UTC (permalink / raw)
  To: kbuild

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

CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Julian Braha <julianbraha@gmail.com>
CC: Andrew Morton <akpm@linux-foundation.org>
CC: Linux Memory Management List <linux-mm@kvack.org>

Hi Julian,

First bad commit (maybe != root cause):

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   d5ad8ec3cfb56a017de6a784835666475b4be349
commit: 7d37cb2c912dc5c25ffac784a4f9b98c06c6bd08 lib: fix kconfig dependency on ARCH_WANT_FRAME_POINTERS
date:   4 months ago
:::::: branch date: 20 hours ago
:::::: commit date: 4 months ago
config: csky-randconfig-m031-20210804 (attached as .config)
compiler: csky-linux-gcc (GCC) 10.3.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/q6afe.c:995 q6afe_set_param() warn: is 'p' large enough for 'struct apr_pkt'? 0
sound/soc/qcom/qdsp6/q6asm.c:458 __q6asm_memory_map_regions() warn: is 'p' large enough for 'struct apr_pkt'? 0

Old smatch warnings:
sound/soc/qcom/qdsp6/q6afe.c:1049 q6afe_port_set_param_v2() warn: is 'p' large enough for 'struct apr_pkt'? 0

vim +995 sound/soc/qcom/qdsp6/q6afe.c

7fa2d70f976657 Srinivas Kandagatla 2018-05-18   973  
84ab3b9f19f6ff Srinivas Kandagatla 2020-09-10   974  static int q6afe_set_param(struct q6afe *afe, struct q6afe_port *port,
84ab3b9f19f6ff Srinivas Kandagatla 2020-09-10   975  			   void *data, int param_id, int module_id, int psize,
84ab3b9f19f6ff Srinivas Kandagatla 2020-09-10   976  			   int token)
a4ae3af59bd585 Srinivas Kandagatla 2018-05-18   977  {
a4ae3af59bd585 Srinivas Kandagatla 2018-05-18   978  	struct afe_svc_cmd_set_param *param;
a4ae3af59bd585 Srinivas Kandagatla 2018-05-18   979  	struct afe_port_param_data_v2 *pdata;
a4ae3af59bd585 Srinivas Kandagatla 2018-05-18   980  	struct apr_pkt *pkt;
a4ae3af59bd585 Srinivas Kandagatla 2018-05-18   981  	int ret, pkt_size;
a4ae3af59bd585 Srinivas Kandagatla 2018-05-18   982  	void *p, *pl;
a4ae3af59bd585 Srinivas Kandagatla 2018-05-18   983  
a4ae3af59bd585 Srinivas Kandagatla 2018-05-18   984  	pkt_size = APR_HDR_SIZE + sizeof(*param) + sizeof(*pdata) + psize;
a4ae3af59bd585 Srinivas Kandagatla 2018-05-18   985  	p = kzalloc(pkt_size, GFP_KERNEL);
a4ae3af59bd585 Srinivas Kandagatla 2018-05-18   986  	if (!p)
a4ae3af59bd585 Srinivas Kandagatla 2018-05-18   987  		return -ENOMEM;
a4ae3af59bd585 Srinivas Kandagatla 2018-05-18   988  
a4ae3af59bd585 Srinivas Kandagatla 2018-05-18   989  	pkt = p;
a4ae3af59bd585 Srinivas Kandagatla 2018-05-18   990  	param = p + APR_HDR_SIZE;
a4ae3af59bd585 Srinivas Kandagatla 2018-05-18   991  	pdata = p + APR_HDR_SIZE + sizeof(*param);
a4ae3af59bd585 Srinivas Kandagatla 2018-05-18   992  	pl = p + APR_HDR_SIZE + sizeof(*param) + sizeof(*pdata);
a4ae3af59bd585 Srinivas Kandagatla 2018-05-18   993  	memcpy(pl, data, psize);
a4ae3af59bd585 Srinivas Kandagatla 2018-05-18   994  
a4ae3af59bd585 Srinivas Kandagatla 2018-05-18  @995  	pkt->hdr.hdr_field = APR_HDR_FIELD(APR_MSG_TYPE_SEQ_CMD,
a4ae3af59bd585 Srinivas Kandagatla 2018-05-18   996  					   APR_HDR_LEN(APR_HDR_SIZE),
a4ae3af59bd585 Srinivas Kandagatla 2018-05-18   997  					   APR_PKT_VER);
a4ae3af59bd585 Srinivas Kandagatla 2018-05-18   998  	pkt->hdr.pkt_size = pkt_size;
a4ae3af59bd585 Srinivas Kandagatla 2018-05-18   999  	pkt->hdr.src_port = 0;
a4ae3af59bd585 Srinivas Kandagatla 2018-05-18  1000  	pkt->hdr.dest_port = 0;
84ab3b9f19f6ff Srinivas Kandagatla 2020-09-10  1001  	pkt->hdr.token = token;
a4ae3af59bd585 Srinivas Kandagatla 2018-05-18  1002  	pkt->hdr.opcode = AFE_SVC_CMD_SET_PARAM;
a4ae3af59bd585 Srinivas Kandagatla 2018-05-18  1003  
a4ae3af59bd585 Srinivas Kandagatla 2018-05-18  1004  	param->payload_size = sizeof(*pdata) + psize;
a4ae3af59bd585 Srinivas Kandagatla 2018-05-18  1005  	param->payload_address_lsw = 0x00;
a4ae3af59bd585 Srinivas Kandagatla 2018-05-18  1006  	param->payload_address_msw = 0x00;
a4ae3af59bd585 Srinivas Kandagatla 2018-05-18  1007  	param->mem_map_handle = 0x00;
a4ae3af59bd585 Srinivas Kandagatla 2018-05-18  1008  	pdata->module_id = module_id;
a4ae3af59bd585 Srinivas Kandagatla 2018-05-18  1009  	pdata->param_id = param_id;
a4ae3af59bd585 Srinivas Kandagatla 2018-05-18  1010  	pdata->param_size = psize;
a4ae3af59bd585 Srinivas Kandagatla 2018-05-18  1011  
342a4f8ca12b1c Srinivas Kandagatla 2020-09-10  1012  	ret = afe_apr_send_pkt(afe, pkt, port, AFE_SVC_CMD_SET_PARAM);
a4ae3af59bd585 Srinivas Kandagatla 2018-05-18  1013  	if (ret)
84ab3b9f19f6ff Srinivas Kandagatla 2020-09-10  1014  		dev_err(afe->dev, "AFE set params failed %d\n", ret);
a4ae3af59bd585 Srinivas Kandagatla 2018-05-18  1015  
a4ae3af59bd585 Srinivas Kandagatla 2018-05-18  1016  	kfree(pkt);
a4ae3af59bd585 Srinivas Kandagatla 2018-05-18  1017  	return ret;
a4ae3af59bd585 Srinivas Kandagatla 2018-05-18  1018  }
a4ae3af59bd585 Srinivas Kandagatla 2018-05-18  1019  

:::::: The code at line 995 was first introduced by commit
:::::: a4ae3af59bd58514b5417d7d802a37e82bfcfd8f ASoC: qdsp6: q6afe: Add support to MI2S sysclks

:::::: TO: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
:::::: CC: Mark Brown <broonie@kernel.org>

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

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 34444 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-08-04 12:27 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-04 12:27 sound/soc/qcom/qdsp6/q6afe.c:995 q6afe_set_param() warn: is 'p' large enough for 'struct apr_pkt'? 0 kernel test robot

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.