diff options
Diffstat (limited to 'gitlab/issues/target_mips/host_missing/accel_missing/602.toml')
| -rw-r--r-- | gitlab/issues/target_mips/host_missing/accel_missing/602.toml | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/gitlab/issues/target_mips/host_missing/accel_missing/602.toml b/gitlab/issues/target_mips/host_missing/accel_missing/602.toml new file mode 100644 index 000000000..000f5716d --- /dev/null +++ b/gitlab/issues/target_mips/host_missing/accel_missing/602.toml @@ -0,0 +1,21 @@ +id = 602 +title = "Failure to translate host to target errno in IP_RECVERR, IPV6_RECVERR emulation" +state = "opened" +created_at = "2021-09-06T20:56:08.562Z" +closed_at = "n/a" +labels = ["linux-user", "target: mips"] +url = "https://gitlab.com/qemu-project/qemu/-/issues/602" +host-os = "n/a" +host-arch = "n/a" +qemu-version = "n/a" +guest-os = "n/a" +guest-arch = "n/a" +description = """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.""" +reproduce = """1. https://cirrus-ci.com/task/5914289870471168""" +additional = """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); +```""" |