[dpdk-dev,v2] vhost: fix check if cmsg is NULL

Message ID 20180209170545.7428-1-tomaszx.kulasek@intel.com (mailing list archive)
State Accepted, archived
Delegated to: Maxime Coquelin
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Tomasz Kulasek Feb. 9, 2018, 5:05 p.m. UTC
  Fixes: 8f972312b8f4 ("vhost: support vhost-user")
Cc: jianfeng.tan@intel.com
Cc: stable@dpdk.org

Signed-off-by: Pawel Wodkowski <pawelx.wodkowski@intel.com>
Signed-off-by: Tomasz Kulasek <tomaszx.kulasek@intel.com>
---
v2 changes:
  - Changed fixline to point right commit

---
 lib/librte_vhost/socket.c | 5 +++++
 1 file changed, 5 insertions(+)
  

Comments

Jianfeng Tan Feb. 11, 2018, 1:06 a.m. UTC | #1
> -----Original Message-----
> From: Kulasek, TomaszX
> Sent: Saturday, February 10, 2018 1:06 AM
> To: yliu@fridaylinux.org
> Cc: dev@dpdk.org; Tan, Jianfeng; stable@dpdk.org; Wodkowski, PawelX
> Subject: [PATCH v2] vhost: fix check if cmsg is NULL
> 
> Fixes: 8f972312b8f4 ("vhost: support vhost-user")
> Cc: jianfeng.tan@intel.com
> Cc: stable@dpdk.org
> 
> Signed-off-by: Pawel Wodkowski <pawelx.wodkowski@intel.com>
> Signed-off-by: Tomasz Kulasek <tomaszx.kulasek@intel.com>
Reviewed-by: Jianfeng Tan <jianfeng.tan@intel.com>

Thanks for the fix.
  
Maxime Coquelin Feb. 20, 2018, 9:03 a.m. UTC | #2
Hi Tomasz,

On 02/09/2018 06:05 PM, Tomasz Kulasek wrote:
> Fixes: 8f972312b8f4 ("vhost: support vhost-user")
> Cc:jianfeng.tan@intel.com
> Cc:stable@dpdk.org
> 
> Signed-off-by: Pawel Wodkowski<pawelx.wodkowski@intel.com>
> Signed-off-by: Tomasz Kulasek<tomaszx.kulasek@intel.com>
> ---
> v2 changes:
>    - Changed fixline to point right commit
> 
> ---
>   lib/librte_vhost/socket.c | 5 +++++
>   1 file changed, 5 insertions(+)

Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>

and applied to dpdk-next-virtio/master.

Thanks,
Maxime
  

Patch

diff --git a/lib/librte_vhost/socket.c b/lib/librte_vhost/socket.c
index 83befdced..8fd47a4d8 100644
--- a/lib/librte_vhost/socket.c
+++ b/lib/librte_vhost/socket.c
@@ -153,6 +153,11 @@  send_fd_message(int sockfd, char *buf, int buflen, int *fds, int fd_num)
 		msgh.msg_control = control;
 		msgh.msg_controllen = sizeof(control);
 		cmsg = CMSG_FIRSTHDR(&msgh);
+		if (cmsg == NULL) {
+			RTE_LOG(ERR, VHOST_CONFIG, "cmsg == NULL\n");
+			errno = EINVAL;
+			return -1;
+		}
 		cmsg->cmsg_len = CMSG_LEN(fdsize);
 		cmsg->cmsg_level = SOL_SOCKET;
 		cmsg->cmsg_type = SCM_RIGHTS;