fix fix-vhost-user-socket-permission.patch for 16.07 89/3189/1
authorChristian Ehrhardt <christian.ehrhardt@canonical.com>
Wed, 28 Sep 2016 12:29:52 +0000 (14:29 +0200)
committerChristian Ehrhardt <christian.ehrhardt@canonical.com>
Thu, 29 Sep 2016 07:13:40 +0000 (09:13 +0200)
Since preparation and actual creation of sockets was split to support
client/server sockets the call to fix up the sockets permissions has to
be moved until after the fd is created.
Otherwise the chmod/chown will fail with:
 EAL: vhost-user socket cannot set permissions to 0666 (Unknown error -1).
 EAL: vhost-user socket unable to set ownership to libvirt-qemu:kvm (Unknown
  error -1).

Change-Id: Ia91eda2f5b217a5a9aa6c2f5ddf2c882048e42b8
Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
debian/patches/fix-vhost-user-socket-permission.patch

index ab3d632..e75cbc2 100644 (file)
@@ -27,7 +27,7 @@ Fixes LP: #1546565
 
 Forwarded: yes
 Author: Christian Ehrhardt <christian.ehrhardt@canonical.com>
-Last-Update: 2016-07-25
+Last-Update: 2016-09-28
 
 diff --git a/doc/guides/testpmd_app_ug/run_app.rst b/doc/guides/testpmd_app_ug/run_app.rst
 index 7712bd2..28776b9 100644
@@ -361,11 +361,11 @@ index b35594d..dbdb8ad 100644
  #define MAX_VIRTIO_BACKLOG 128
  
  static void vhost_user_server_new_connection(int fd, void *data, int *remove);
-@@ -682,6 +684,7 @@ rte_vhost_driver_register(const char *path, uint64_t flags)
-       if (!vsocket)
-               goto out;
-       memset(vsocket, 0, sizeof(struct vhost_user_socket));
+@@ -699,6 +701,7 @@
+               vsocket->is_server = true;
+               ret = vhost_user_create_server(vsocket);
+       }
 +      rte_eal_set_socket_permissions(path);
-       vsocket->path = strdup(path);
-       vsocket->connfd = -1;
+       if (ret < 0) {
+               free(vsocket->path);
+               free(vsocket);