[v1] common/idpf: fix possible null dereference

Message ID 20221109051707.395658-1-mingxia.liu@intel.com (mailing list archive)
State Accepted, archived
Delegated to: Qi Zhang
Headers
Series [v1] common/idpf: fix possible null dereference |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/iol-testing warning apply patch failure
ci/Intel-compilation warning apply issues
ci/github-robot: build success github build: passed

Commit Message

Liu, Mingxia Nov. 9, 2022, 5:17 a.m. UTC
  From: mingxial <mingxia.liu@intel.com>

Coverity is reporting FORWARD_NULL issue when msg.ctx.indirect.payload
is NULL. Adding NULL check for this.

Coverity issue: 381689
Fixes: fb4ac04e9bfa ("common/idpf: introduce common library")
Cc: stable@dpdk.org

Signed-off-by: mingxial <mingxia.liu@intel.com>
---
 drivers/common/idpf/base/idpf_common.c | 2 ++
 1 file changed, 2 insertions(+)
  

Comments

Qi Zhang Nov. 9, 2022, 7:44 a.m. UTC | #1
> -----Original Message-----
> From: Mingxia Liu <mingxia.liu@intel.com>
> Sent: Wednesday, November 9, 2022 1:17 PM
> To: dev@dpdk.org
> Cc: Wu, Jingjing <jingjing.wu@intel.com>; Xing, Beilei <beilei.xing@intel.com>;
> Wang, Xiao W <xiao.w.wang@intel.com>; Guo, Junfeng
> <junfeng.guo@intel.com>; Liu, Mingxia <mingxia.liu@intel.com>;
> stable@dpdk.org
> Subject: [PATCH v1] common/idpf: fix possible null dereference
> 
> From: mingxial <mingxia.liu@intel.com>
> 
> Coverity is reporting FORWARD_NULL issue when msg.ctx.indirect.payload is
> NULL. Adding NULL check for this.
> 
> Coverity issue: 381689
> Fixes: fb4ac04e9bfa ("common/idpf: introduce common library")
> Cc: stable@dpdk.org

Fix current release no need Cc stable

> 
> Signed-off-by: mingxial <mingxia.liu@intel.com>

s/mingxial/Mingxia Liu/

Acked-by: Qi Zhang <qi.z.zhang@intel.com>

Applied to dpdk-next-net-intel.

Thanks
Qi
  

Patch

diff --git a/drivers/common/idpf/base/idpf_common.c b/drivers/common/idpf/base/idpf_common.c
index bcc0c11ae8..3a9fdb1878 100644
--- a/drivers/common/idpf/base/idpf_common.c
+++ b/drivers/common/idpf/base/idpf_common.c
@@ -234,6 +234,8 @@  int idpf_clean_arq_element(struct idpf_hw *hw,
 	e->desc.ret_val = msg.status;
 	e->desc.datalen = msg.data_len;
 	if (msg.data_len > 0) {
+		if (!msg.ctx.indirect.payload)
+			return -EINVAL;
 		e->buf_len = msg.data_len;
 		msg_data_len = msg.data_len;
 		idpf_memcpy(e->msg_buf, msg.ctx.indirect.payload->va, msg_data_len,