Fixes: corrects clobbering of registers appearing after k_gs_base

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

 

Signed-off-by: Marek Dolata <mkdolata@us.ibm.com>

---

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

1 file changed, 2 insertions(+), 2 deletions(-)

 

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

index aef25b70f1..572ead641c 100644

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

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

@@ -350,15 +350,15 @@ 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;

#endif

+            return 4;

 

         case IDX_FP_REGS + 8:

             cpu_set_fpuc(env, ldl_p(mem_buf));

--

2.24.1