All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] target/i386: Fix handling of k_gs_base register in 32-bit mode in gdbstub
@ 2019-12-27 20:07 Marek Dolata - mkdolata@us.ibm.com
  2019-12-27 21:44 ` [PATCH v2] " Philippe Mathieu-Daudé
  0 siblings, 1 reply; 2+ messages in thread
From: Marek Dolata - mkdolata@us.ibm.com @ 2019-12-27 20:07 UTC (permalink / raw)
  To: qemu-devel
  Cc: Eduardo Habkost, qemu-trivial, Doug Gale, Markus Armbruster,
	Paolo Bonzini, Philippe Mathieu-Daudé,
	Richard Henderson

[-- Attachment #1: Type: text/plain, Size: 1042 bytes --]

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<mailto: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


[-- Attachment #2: Type: text/html, Size: 7242 bytes --]

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH v2] target/i386: Fix handling of k_gs_base register in 32-bit mode in gdbstub
  2019-12-27 20:07 [PATCH] target/i386: Fix handling of k_gs_base register in 32-bit mode in gdbstub Marek Dolata - mkdolata@us.ibm.com
@ 2019-12-27 21:44 ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 2+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-12-27 21:44 UTC (permalink / raw)
  To: Marek Dolata - mkdolata@us.ibm.com, qemu-devel
  Cc: Eduardo Habkost, qemu-trivial, Doug Gale, Markus Armbruster,
	Paolo Bonzini, Richard Henderson

Hi Marek,

Thanks for Cc'ing the maintainers :)

Still the same error occurs:

   Applying: target/i386: Fix handling of k_gs_base register in 32-bit 
mode in gdbstub
   error: corrupt patch at line 21
   Patch failed at 0001 target/i386: Fix handling of k_gs_base register 
in 32-bit mode in gdbstub

Please use a version number when you repost a patch, this is patch v2 
(next should be v3).

On 12/27/19 9:07 PM, Marek Dolata - mkdolata@us.ibm.com wrote:
> 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 
> <mailto: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
> 



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2019-12-27 21:47 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-27 20:07 [PATCH] target/i386: Fix handling of k_gs_base register in 32-bit mode in gdbstub Marek Dolata - mkdolata@us.ibm.com
2019-12-27 21:44 ` [PATCH v2] " Philippe Mathieu-Daudé

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.