From: Tiwei Bie <tiwei.bie@intel.com> To: Jin Yu <jin.yu@intel.com> Cc: Maxime Coquelin <maxime.coquelin@redhat.com>, Zhihong Wang <zhihong.wang@intel.com>, dev@dpdk.org, stable@dpdk.org Subject: Re: [dpdk-stable] [PATCH] vhost: add protocol feature check Date: Mon, 13 Jan 2020 10:52:32 +0800 Message-ID: <20200113025232.GA86373@___> (raw) In-Reply-To: <20191225142445.66106-1-jin.yu@intel.com> On Wed, Dec 25, 2019 at 10:24:45PM +0800, Jin Yu wrote: > Add VHOST_USER_PROTOCOL_F_INFLIGHT_SHMFD check in > getting inflight ring functions. > > Fixes: 4d891f77ddfa ("vhost: add APIs to get inflight ring") > Cc: stable@dpdk.org > > Signed-off-by: Jin Yu <jin.yu@intel.com> > --- > lib/librte_vhost/vhost.c | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/lib/librte_vhost/vhost.c b/lib/librte_vhost/vhost.c > index 1cbe948f7..dfb71732b 100644 > --- a/lib/librte_vhost/vhost.c > +++ b/lib/librte_vhost/vhost.c > @@ -862,6 +862,10 @@ rte_vhost_get_vhost_ring_inflight(int vid, uint16_t vring_idx, > if (unlikely(!dev)) > return -1; > > + if (unlikely(!(dev->protocol_features & > + (1ULL << VHOST_USER_PROTOCOL_F_INFLIGHT_SHMFD)))) > + return 0; Why this is needed? The caller needs to know whether _INFLIGHT_SHMFD is negotiated or not anyway. Even if rte_vhost_get_vhost_ring_inflight() returns success, the inflight info returned is still invalid. > + > if (vring_idx >= VHOST_MAX_VRING) > return -1; > > @@ -1431,6 +1435,10 @@ rte_vhost_get_vring_base_from_inflight(int vid, > if (dev == NULL || last_avail_idx == NULL || last_used_idx == NULL) > return -1; > > + if (unlikely(!(dev->protocol_features & > + (1ULL << VHOST_USER_PROTOCOL_F_INFLIGHT_SHMFD)))) > + return 0; > + > if (!vq_is_packed(dev)) > return -1; > > -- > 2.17.2 >
prev parent reply other threads:[~2020-01-13 2:52 UTC|newest] Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-12-25 14:24 Jin Yu 2020-01-13 2:52 ` Tiwei Bie [this message]
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20200113025232.GA86373@___ \ --to=tiwei.bie@intel.com \ --cc=dev@dpdk.org \ --cc=jin.yu@intel.com \ --cc=maxime.coquelin@redhat.com \ --cc=stable@dpdk.org \ --cc=zhihong.wang@intel.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
patches for DPDK stable branches This inbox may be cloned and mirrored by anyone: git clone --mirror https://inbox.dpdk.org/stable/0 stable/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 stable stable/ https://inbox.dpdk.org/stable \ stable@dpdk.org public-inbox-index stable Example config snippet for mirrors. Newsgroup available over NNTP: nntp://inbox.dpdk.org/inbox.dpdk.stable AGPL code for this site: git clone https://public-inbox.org/public-inbox.git