qemu-trivial
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] /target/i386: fix gdbstub k_gs_base issue


From: Marek Dolata - address@hidden
Subject: [PATCH] /target/i386: fix gdbstub k_gs_base issue
Date: Fri, 27 Dec 2019 02:41:29 +0000

Fixes: corrects clobbering of registers appearing after k_gs_base

Buglink: https://bugs.launchpad.net/qemu/+bug/1857640

 

Signed-off-by: Marek Dolata <address@hidden>

---

target/i386/gdbstub.c | 4 +++-

1 file changed, 3 insertions(+), 1 deletion(-)

 

diff --git a/target/i386/gdbstub.c b/target/i386/gdbstub.c

index aef25b70f1..7228d20674 100644

--- a/target/i386/gdbstub.c

+++ b/target/i386/gdbstub.c

@@ -350,14 +350,16 @@ int x86_cpu_gdb_write_register(CPUState *cs, uint8_t *mem_buf, int n)

             env->segs[R_GS].base = ldl_p(mem_buf);

             return 4;

-#ifdef TARGET_X86_64

         case IDX_SEG_REGS + 8:

+#ifdef TARGET_X86_64

             if (env->hflags & HF_CS64_MASK) {

                 env->kernelgsbase = ldq_p(mem_buf);

                 return 8;

             }

             env->kernelgsbase = ldl_p(mem_buf);

             return 4;

+#else

+            return 4;

#endif

         case IDX_FP_REGS + 8:

--

2.21.0

 

 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]