summary refs log tree commit diff stats
path: root/results/classifier/118/review/602
diff options
context:
space:
mode:
Diffstat (limited to 'results/classifier/118/review/602')
-rw-r--r--results/classifier/118/review/60273
1 files changed, 73 insertions, 0 deletions
diff --git a/results/classifier/118/review/602 b/results/classifier/118/review/602
new file mode 100644
index 000000000..3d4aa6c74
--- /dev/null
+++ b/results/classifier/118/review/602
@@ -0,0 +1,73 @@
+mistranslation: 0.915
+device: 0.799
+x86: 0.733
+graphic: 0.691
+risc-v: 0.675
+network: 0.643
+kernel: 0.630
+ppc: 0.616
+vnc: 0.614
+architecture: 0.544
+PID: 0.535
+socket: 0.526
+semantic: 0.478
+user-level: 0.454
+register: 0.446
+files: 0.435
+debug: 0.426
+TCG: 0.404
+boot: 0.386
+performance: 0.366
+arm: 0.346
+i386: 0.309
+VMM: 0.279
+permissions: 0.273
+hypervisor: 0.230
+virtual: 0.226
+peripherals: 0.185
+KVM: 0.185
+assembly: 0.180
+--------------------
+kernel: 0.830
+debug: 0.608
+TCG: 0.395
+virtual: 0.180
+network: 0.178
+files: 0.128
+hypervisor: 0.103
+register: 0.077
+x86: 0.059
+KVM: 0.042
+PID: 0.030
+risc-v: 0.026
+VMM: 0.017
+socket: 0.015
+user-level: 0.014
+semantic: 0.008
+device: 0.006
+assembly: 0.004
+architecture: 0.003
+ppc: 0.002
+boot: 0.002
+performance: 0.002
+vnc: 0.002
+mistranslation: 0.002
+peripherals: 0.001
+graphic: 0.001
+arm: 0.001
+i386: 0.001
+permissions: 0.000
+
+Failure to translate host to target errno in IP_RECVERR, IPV6_RECVERR emulation
+Description of problem:
+In translated IP_RECVERR (and IPV6_RECVERR) control messages, the `ee_errno` is not translated, so host errnos are observed on guests.  E.g., `ECONNREFUSED` is 111 on x86_64 host, but expected to be 146 in MIPS ABI.
+Steps to reproduce:
+1. https://cirrus-ci.com/task/5914289870471168
+Additional information:
+The bugs are on [lines 1970 and 2014 here](https://github.com/qemu/qemu/blob/211364c21e7f757ae1acf4e72b5df39c498fb88b/linux-user/syscall.c#L1970-L2014).
+
+The fix is something like:
+
+```
+__put_user(host_to_target_errno(errh->ee.ee_errno), &target_errh->ee.ee_errno);
+```