On 10/04/2018 04:59 PM, Ilya Maximets wrote:
On 04.10.2018 11:13, Maxime Coquelin wrote:
When the memory table gets updated, the rings addresses need
to be translated again. If it fails, we need to exit cleanly
by unmapping memory regions.

Fixes: d5022533c20a ("vhost: retranslate vring addr when memory table changes")
Cc: sta...@dpdk.org

Signed-off-by: Maxime Coquelin <maxime.coque...@redhat.com>
---

Acked-by: Ilya Maximets <i.maxim...@samsung.com>

Minor comments inline.

  lib/librte_vhost/vhost_user.c | 3 ++-
  1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/lib/librte_vhost/vhost_user.c b/lib/librte_vhost/vhost_user.c
index 8ffe5aa66..b6eae8dc5 100644
--- a/lib/librte_vhost/vhost_user.c
+++ b/lib/librte_vhost/vhost_user.c
@@ -964,7 +964,8 @@ vhost_user_set_mem_table(struct virtio_net **pdev, struct 
VhostUserMsg *msg)
dev = translate_ring_addresses(dev, i);
                        if (!dev)
-                               return VH_RESULT_ERR;
+                               goto err_mmap;
+

1. No need to have two empty lines. (You could fix this while applying)

Right. I will either fix it while applying, or it will be in next
revision, if any.

2. In current code, error on message handling will cause disconnect and
    memory regions will be freed anyway. So, the change is not very
    important for master (maybe just for consistency with surrounding
    code) but it could be important for stable versions.

I may not disconnect directly, as if reply-ack feature is negotiated[0],
the slave would reply with a NACK and function handler will return 0.
I guess that in that case the master (QEMU) will disconnect anyway, but
this is just an assumption from slave point of view.

[0]: REPLY_ACK protocol feature is only advertised when IOMMU support is
requested because of a bug in an old upstream QEMU version.

Thanks!
Maxime

*pdev = dev;
                }

Reply via email to