summary refs log tree commit diff stats
path: root/results/classifier/zero-shot/108/other/602
blob: c4ad0e1d9ca30520b45fc531c50992ab5e1081f8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
device: 0.799
graphic: 0.691
network: 0.643
vnc: 0.614
PID: 0.535
socket: 0.526
semantic: 0.478
files: 0.435
debug: 0.426
boot: 0.386
performance: 0.366
permissions: 0.273
other: 0.251
KVM: 0.185

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);
```