summary refs log tree commit diff stats
path: root/results/classifier/118/graphic/1529859
diff options
context:
space:
mode:
Diffstat (limited to 'results/classifier/118/graphic/1529859')
-rw-r--r--results/classifier/118/graphic/1529859227
1 files changed, 227 insertions, 0 deletions
diff --git a/results/classifier/118/graphic/1529859 b/results/classifier/118/graphic/1529859
new file mode 100644
index 000000000..135876f44
--- /dev/null
+++ b/results/classifier/118/graphic/1529859
@@ -0,0 +1,227 @@
+graphic: 0.825
+assembly: 0.818
+architecture: 0.812
+socket: 0.802
+performance: 0.802
+permissions: 0.797
+arm: 0.795
+register: 0.792
+risc-v: 0.790
+debug: 0.788
+PID: 0.785
+kernel: 0.770
+semantic: 0.768
+virtual: 0.765
+network: 0.753
+files: 0.751
+boot: 0.743
+device: 0.738
+user-level: 0.735
+peripherals: 0.687
+hypervisor: 0.686
+mistranslation: 0.657
+ppc: 0.652
+KVM: 0.589
+TCG: 0.557
+VMM: 0.556
+vnc: 0.553
+x86: 0.514
+i386: 0.464
+
+qemu 2.5.0 ivshmem segfault with msi=off option
+
+Launching qemu with "-device ivshmem,chardev=ivshmemid,msi=off -chardev socket,path=/tmp/ivshmem_socket,id=ivshmemid"
+
+Causes segfault because, s->msi_vectors is not initialized and  s->msi_vectors == 0.
+
+Does ivshmem exactly need this line ? :
+
+s->msi_vectors[vector].pdev = pdev;
+
+It makes no sence for me.
+
+Subject: [PATCH] fixed ivshmem empty msi vector on msi=off segfault
+
+---
+ hw/misc/ivshmem.c | 9 ++++-----
+ 1 file changed, 4 insertions(+), 5 deletions(-)
+
+diff --git a/hw/misc/ivshmem.c b/hw/misc/ivshmem.c
+index f73f0c2..2087d5e 100644
+--- a/hw/misc/ivshmem.c
++++ b/hw/misc/ivshmem.c
+@@ -359,8 +359,6 @@ static CharDriverState* create_eventfd_chr_device(void * opaque, EventNotifier *
+     int eventfd = event_notifier_get_fd(n);
+     CharDriverState *chr;
+ 
+-    s->msi_vectors[vector].pdev = pdev;
+-
+     chr = qemu_chr_open_eventfd(eventfd);
+ 
+     if (chr == NULL) {
+@@ -1038,10 +1036,11 @@ static void pci_ivshmem_exit(PCIDevice *dev)
+     }
+ 
+     if (ivshmem_has_feature(s, IVSHMEM_MSI)) {
+-        msix_uninit_exclusive_bar(dev);
++        msix_uninit_exclusive_bar(dev);
+     }
+-
+-    g_free(s->msi_vectors);
++    
++    if(s->msi_vectors)
++       g_free(s->msi_vectors);
+ }
+ 
+ static bool test_msix(void *opaque, int version_id)
+-- 
+2.3.6
+
+On 12/29/2015 06:38 AM, maquefel wrote:
+> Public bug reported:
+> 
+> Launching qemu with "-device ivshmem,chardev=ivshmemid,msi=off -chardev
+> socket,path=/tmp/ivshmem_socket,id=ivshmemid"
+> 
+> Causes segfault because, s->msi_vectors is not initialized and
+> s->msi_vectors == 0.
+> 
+> Does ivshmem exactly need this line ? :
+> 
+> s->msi_vectors[vector].pdev = pdev;
+> 
+> It makes no sence for me.
+> 
+> Subject: [PATCH] fixed ivshmem empty msi vector on msi=off segfault
+
+Patches require a Signed-off-by: line before they can be applied.
+
+> 
+> ---
+>  hw/misc/ivshmem.c | 9 ++++-----
+>  1 file changed, 4 insertions(+), 5 deletions(-)
+> 
+> diff --git a/hw/misc/ivshmem.c b/hw/misc/ivshmem.c
+> index f73f0c2..2087d5e 100644
+> --- a/hw/misc/ivshmem.c
+> +++ b/hw/misc/ivshmem.c
+> @@ -359,8 +359,6 @@ static CharDriverState* create_eventfd_chr_device(void * opaque, EventNotifier *
+>      int eventfd = event_notifier_get_fd(n);
+>      CharDriverState *chr;
+>  
+> -    s->msi_vectors[vector].pdev = pdev;
+> -
+
+This avoids the segfault, but it may break other uses. Are you sure you
+don't need an 'if (s->msi_vectors[vector])' conditional?
+
+>      chr = qemu_chr_open_eventfd(eventfd);
+>  
+>      if (chr == NULL) {
+> @@ -1038,10 +1036,11 @@ static void pci_ivshmem_exit(PCIDevice *dev)
+>      }
+>  
+>      if (ivshmem_has_feature(s, IVSHMEM_MSI)) {
+> -        msix_uninit_exclusive_bar(dev);
+> +        msix_uninit_exclusive_bar(dev);
+
+I can't see what's changing here.  Whitespace?
+
+>      }
+> -
+> -    g_free(s->msi_vectors);
+> +    
+> +    if(s->msi_vectors)
+> +       g_free(s->msi_vectors);
+
+This hunk is bogus.  g_free(NULL) already works properly.
+
+-- 
+Eric Blake   eblake redhat com    +1-919-301-3266
+Libvirt virtualization library http://libvirt.org
+
+
+
+See previously posted patch:
+
+http://lists.gnu.org/archive/html/qemu-stable/2015-12/msg00034.html
+
+On Mon, Jan 4, 2016 at 9:24 PM, Eric Blake <email address hidden> wrote:
+> On 12/29/2015 06:38 AM, maquefel wrote:
+>> Public bug reported:
+>>
+>> Launching qemu with "-device ivshmem,chardev=ivshmemid,msi=off -chardev
+>> socket,path=/tmp/ivshmem_socket,id=ivshmemid"
+>>
+>> Causes segfault because, s->msi_vectors is not initialized and
+>> s->msi_vectors == 0.
+>>
+>> Does ivshmem exactly need this line ? :
+>>
+>> s->msi_vectors[vector].pdev = pdev;
+>>
+>> It makes no sence for me.
+>>
+>> Subject: [PATCH] fixed ivshmem empty msi vector on msi=off segfault
+>
+> Patches require a Signed-off-by: line before they can be applied.
+>
+>>
+>> ---
+>>  hw/misc/ivshmem.c | 9 ++++-----
+>>  1 file changed, 4 insertions(+), 5 deletions(-)
+>>
+>> diff --git a/hw/misc/ivshmem.c b/hw/misc/ivshmem.c
+>> index f73f0c2..2087d5e 100644
+>> --- a/hw/misc/ivshmem.c
+>> +++ b/hw/misc/ivshmem.c
+>> @@ -359,8 +359,6 @@ static CharDriverState* create_eventfd_chr_device(void * opaque, EventNotifier *
+>>      int eventfd = event_notifier_get_fd(n);
+>>      CharDriverState *chr;
+>>
+>> -    s->msi_vectors[vector].pdev = pdev;
+>> -
+>
+> This avoids the segfault, but it may break other uses. Are you sure you
+> don't need an 'if (s->msi_vectors[vector])' conditional?
+>
+>>      chr = qemu_chr_open_eventfd(eventfd);
+>>
+>>      if (chr == NULL) {
+>> @@ -1038,10 +1036,11 @@ static void pci_ivshmem_exit(PCIDevice *dev)
+>>      }
+>>
+>>      if (ivshmem_has_feature(s, IVSHMEM_MSI)) {
+>> -        msix_uninit_exclusive_bar(dev);
+>> +        msix_uninit_exclusive_bar(dev);
+>
+> I can't see what's changing here.  Whitespace?
+>
+>>      }
+>> -
+>> -    g_free(s->msi_vectors);
+>> +
+>> +    if(s->msi_vectors)
+>> +       g_free(s->msi_vectors);
+>
+> This hunk is bogus.  g_free(NULL) already works properly.
+>
+> --
+> Eric Blake   eblake redhat com    +1-919-301-3266
+> Libvirt virtualization library http://libvirt.org
+>
+
+
+
+-- 
+Marc-André Lureau
+
+
+>See previously posted patch:
+> http://lists.gnu.org/archive/html/qemu-stable/2015-12/msg00034.html
+
+This patch resolves issue. I can confirm it works.
+
+Patch has been included here:
+http://git.qemu.org/?p=qemu.git;a=commitdiff;h=47213eb1104709bf23
+