diff options
Diffstat (limited to 'results/classifier/118/review/602')
| -rw-r--r-- | results/classifier/118/review/602 | 73 |
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); +``` |