[dpdk-dev] [PATCH] vhost/crypto: fix missing head correction

Zhang, Roy Fan roy.fan.zhang at intel.com
Fri Apr 27 16:22:08 CEST 2018


Hi Maxime,

No problem. I will work on it.

Regards,
Fan

> -----Original Message-----
> From: Maxime Coquelin [mailto:maxime.coquelin at redhat.com]
> Sent: Friday, April 27, 2018 3:19 PM
> To: Zhang, Roy Fan <roy.fan.zhang at intel.com>; dev at dpdk.org
> Cc: Yigit, Ferruh <ferruh.yigit at intel.com>
> Subject: Re: [PATCH] vhost/crypto: fix missing head correction
> 
> Hi Fan,
> 
> On 04/27/2018 03:52 PM, Fan Zhang wrote:
> > Fixes: 473387aaae4a ("vhost/crypto: move to safe GPA translation API")
> >
> > This patch fixes the missing head descriptor correction for indirect
> > descriptors.
> >
> > Signed-off-by: Fan Zhang <roy.fan.zhang at intel.com>
> > ---
> >   lib/librte_vhost/vhost_crypto.c | 1 +
> >   1 file changed, 1 insertion(+)
> >
> > diff --git a/lib/librte_vhost/vhost_crypto.c
> > b/lib/librte_vhost/vhost_crypto.c index c38eb3bb5..81fab7e94 100644
> > --- a/lib/librte_vhost/vhost_crypto.c
> > +++ b/lib/librte_vhost/vhost_crypto.c
> > @@ -919,6 +919,7 @@ vhost_crypto_process_one_req(struct
> vhost_crypto *vcrypto,
> >   		if (unlikely(!desc || dlen != head->len))
> >   			return -1;
> >   		desc_idx = 0;
> > +		head = desc;
> 
> Thanks for fixing this, and sorry for having introduced the regression.
> 
> BTW, my patch is half-complete. Indeed, it ensures no out-of-bound
> accesses will be done, but it does not handle legit buffers that are contiguous
> in guest physical address space, but discontiguous in the host VA space. Such
> case can for example happen when having buffers larger than the huge page
> size.
> 
> I have implemented the handling of such buffers in virtio-net.c, for
> example:
> 
> fb3815cc6 vhost: handle virtually non-contiguous buffers in Rx-mrg
> 6727f5a73 vhost: handle virtually non-contiguous buffers in Rx
> 91b7b4080 vhost: handle virtually non-contiguous buffers in Tx d0c24508e
> vhost: add support for non-contiguous indirect descs tables
> 
> Can you try to work on such handling for next -rc release?
> 
> 
> For this patch:
> Reviewed-by: Maxime Coquelin <maxime.coquelin at redhat.com>
> 
> Thanks,
> Maxime
> 
> >   	} else {
> >   		desc = head;
> >   	}
> >


More information about the dev mailing list