From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Zhang, Helin" Subject: Re: [PATCH v2 4/4] kni: fix missing validation when vhost HDR is enabled Date: Fri, 10 Jul 2015 15:35:38 +0000 Message-ID: References: <1435259380-26251-1-git-send-email-miguel.bernal.marin@linux.intel.com> <1435356878-10304-1-git-send-email-miguel.bernal.marin@linux.intel.com> <1435356878-10304-5-git-send-email-miguel.bernal.marin@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Cc: "dev@dpdk.org" To: "Xie, Huawei" , "Ouyang, Changchun" , "Liang, Cunming" Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by dpdk.org (Postfix) with ESMTP id 91302C3D4 for ; Fri, 10 Jul 2015 17:35:42 +0200 (CEST) In-Reply-To: <1435356878-10304-5-git-send-email-miguel.bernal.marin@linux.intel.com> Content-Language: en-US List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Could one of you guys help to review the vhost part? Thanks, Helin > -----Original Message----- > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Miguel Bernal Marin > Sent: Friday, June 26, 2015 3:15 PM > To: dev@dpdk.org > Subject: [dpdk-dev] [PATCH v2 4/4] kni: fix missing validation when vhost= HDR is > enabled >=20 > A missing port from memcpy_toiovecend to copy_to_iter is showed when vHos= t > HDR is enabled. DPDK would not build. >=20 > This patch add this validation to build with kernel > 3.19. >=20 > Fixes: 45e63ba8db31 ("kni: fix vhost build with kernels 3.19 and 4.0") > Fixes: ba7438aed924 ("vhost: don't bother copying iovecs in handle_rx(), = kill > memcpy_toiovecend()") >=20 > Signed-off-by: Miguel Bernal Marin > --- > lib/librte_eal/linuxapp/kni/kni_vhost.c | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) >=20 > diff --git a/lib/librte_eal/linuxapp/kni/kni_vhost.c > b/lib/librte_eal/linuxapp/kni/kni_vhost.c > index f21b47e..013a677 100644 > --- a/lib/librte_eal/linuxapp/kni/kni_vhost.c > +++ b/lib/librte_eal/linuxapp/kni/kni_vhost.c > @@ -427,10 +427,15 @@ kni_sock_rcvmsg(struct socket *sock, >=20 > #ifdef RTE_KNI_VHOST_VNET_HDR_EN > /* no need to copy hdr when no pkt received */ > +#ifdef HAVE_IOV_ITER_MSGHDR > + if (unlikely(copy_to_iter((void *)&vnet_hdr, vnet_hdr_len, > + &m->msg_iter))) > +#else > if (unlikely(memcpy_toiovecend(m->msg_iov, > (void *)&vnet_hdr, 0, vnet_hdr_len))) > +#endif /* HAVE_IOV_ITER_MSGHDR */ > return -EFAULT; > -#endif > +#endif /* RTE_KNI_VHOST_VNET_HDR_EN */ > KNI_DBG_RX("kni_rcvmsg expect_len %ld, flags 0x%08x, pkt_len %d\n", > (unsigned long)len, q->flags, pkt_len); >=20 > -- > 2.4.4