"The beginning of the structure, with pretaddr, should be just below 16-byte
alignment."
It is incorrect! The beginning of the structure, with pretaddr not aligned as
16-byte!
On x86-64, It aligned as (16n - sizeof(void*)) because of instruction "call" !
> -原始邮件-
> 发件人: "Richard
sigframe::pretcode & rt_sigframe::pretcode must align of 16n-sizeof(void*)
instead of 16n, Because rsp align of 16n before instruction "call" in caller,
After "call", push address of "call" in caller. sp of begin in callee is
16n-sizeof(void*)
Resolves:
Wine CE is a compatibility layer capable of running Windows applications on
Cross-architecture paltform of Linux, It base on wine and qemu, and support
aarch64 and riscv64 Linux. It can emulate x86(32bit) x64, aarch64 windows app.
Project Address: https://gitlab.com/wine-ce/wine-ce
Binary
On linux user mode, CPUX86State::gdt::base from Different CPUX86State Objects
have same value, It is incorrect! Every CPUX86State::gdt::base Must points to
independent memory space.
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1405
Signed-off-by: fanwenjie
---
1. "The memcpy is definitely wrong, because you're casting a guest address into
a host address, which is incorrect. You have to use g2h()."
There is no need to use g2h(), Because there are both guest address whether
source or dest memory. refer to "linux-user/i386/cpu_loop.c"
The patch fix bug abort settting CPUX86State::gdt::base on linux-user, the bug
can write dirty data to emulated segment registers of x86
Patch address:
https://lists.nongnu.org/archive/html/qemu-devel/2023-01/msg00142.html
Bug description: https://gitlab.com/qemu-project/qemu/-/issues/1405
On linux user mode, CPUX86State::idt::base and CPUX86State::gdt::base from
Different CPUX86State Objects have same value, It is incorrect! Every
CPUX86State::idt::base and Every CPUX86State::gdt::base Must points to
independent memory space. Resolves:
From: fanwenjie
On linux user mode, CPUX86State::idt::base and CPUX86State::gdt::base from
Different CPUX86State Objects have same value, It is incorrect! Every
CPUX86State::idt::base and Every CPUX86State::gdt::base Must points to
independent memory space.
Resolves:
The Patch has some problem, Please RECALL it!
-原始邮件-
发件人:fa...@mail.ustc.edu.cn
发送时间:2023-01-01 23:57:06 (星期日)
收件人: qemu-devel@nongnu.org
抄送: qemu-devel@nongnu.org
主题: [PATCH] linux-user: fix bug about incorrect base addresss of idt and gdt on
i386 and x86_64
From
From 4601a624f40b2c89e7df2dec1adffb4f4308ba2d Mon Sep 17 00:00:00 2001
From: fanwenjie
Date: Sun, 1 Jan 2023 23:13:34 +0800
Subject: [PATCH] linux-user: fix bug about incorrect base addresss of idt and
gdt on i386 and x86_64
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1405
From 4ebe8a67ed7c4b1220957b2b67a62ba60e0e80ec Mon Sep 17 00:00:00 2001
From: fanwenjie
Date: Wed, 31 Aug 2022 11:55:25 +0800
Subject: [PATCH] linux-user: fix bug about missing signum convert of sigqueue
Signed-off-by: fanwenjie
---
linux-user/syscall.c | 4 ++--
1 file changed, 2
11 matches
Mail list logo