summary refs log tree commit diff stats
path: root/results/classifier/118/review/1571
diff options
context:
space:
mode:
Diffstat (limited to 'results/classifier/118/review/1571')
-rw-r--r--results/classifier/118/review/157172
1 files changed, 72 insertions, 0 deletions
diff --git a/results/classifier/118/review/1571 b/results/classifier/118/review/1571
new file mode 100644
index 00000000..be6fb06f
--- /dev/null
+++ b/results/classifier/118/review/1571
@@ -0,0 +1,72 @@
+architecture: 0.929
+performance: 0.905
+graphic: 0.891
+hypervisor: 0.872
+PID: 0.866
+device: 0.863
+ppc: 0.821
+files: 0.805
+register: 0.801
+TCG: 0.795
+virtual: 0.771
+debug: 0.745
+kernel: 0.684
+socket: 0.675
+risc-v: 0.619
+permissions: 0.597
+vnc: 0.587
+network: 0.582
+semantic: 0.556
+mistranslation: 0.533
+arm: 0.514
+assembly: 0.491
+boot: 0.476
+peripherals: 0.441
+VMM: 0.267
+i386: 0.209
+x86: 0.178
+user-level: 0.154
+KVM: 0.108
+--------------------
+hypervisor: 0.960
+virtual: 0.866
+debug: 0.569
+kernel: 0.513
+files: 0.157
+x86: 0.034
+TCG: 0.033
+register: 0.024
+semantic: 0.022
+architecture: 0.016
+KVM: 0.009
+PID: 0.008
+performance: 0.008
+i386: 0.007
+assembly: 0.006
+VMM: 0.005
+boot: 0.005
+arm: 0.005
+device: 0.004
+ppc: 0.003
+peripherals: 0.003
+user-level: 0.003
+risc-v: 0.002
+permissions: 0.001
+network: 0.001
+graphic: 0.001
+vnc: 0.001
+socket: 0.000
+mistranslation: 0.000
+
+accel/hvf: Instance size not properly declared
+Description of problem:
+In [`include/sysemu/hvf.h`](https://gitlab.com/qemu-project/qemu/-/blob/master/include/sysemu/hvf.h#L36), `HVFState` is declared to have the QOM type `TYPE_HVF_ACCEL`;
+However, when the type is registered, proper `instance_size` for it was [not declared](https://gitlab.com/qemu-project/qemu/-/blob/master/accel/hvf/hvf-accel-ops.c#L351).
+
+As a result, a bad workaround was introduced. That is, when [`hvf_accel_init`](https://gitlab.com/qemu-project/qemu/-/blob/master/accel/hvf/hvf-accel-ops.c#L329) is called from [`accel_init_machine`](https://gitlab.com/qemu-project/qemu/-/blob/master/accel/accel-softmmu.c#L33), an new instance of `HVFState` is allocated while we should have used the pre-allocated instance in `ms->accelerator` similar to [what KVM does](https://gitlab.com/qemu-project/qemu/-/blob/master/accel/kvm/kvm-all.c#L2381) (the code didn't do so since the allocated ([using `object_new_with_class`](https://gitlab.com/qemu-project/qemu/-/blob/master/softmmu/vl.c#L2218)) instance didn't allocate enough memory for `HVFState`).
+
+Eventhough the code wouldn't crash nor have any serious implication, this would leak an `AccelState` and attempts to manually manage accelerators would cause a buffer-overflow.
+Steps to reproduce:
+1. Run a HVF-accelerated VM
+Additional information:
+