summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2023-10-11 15:53:50 +0200
committerMarkus Armbruster <armbru@redhat.com>2023-10-12 16:37:31 +0200
commitc35b2fb1fdc7f6926653cc6df289e5bd77ecbad3 (patch)
tree4b02885bcfcf9c19afa07dd8109770882660e381
parentcc46a7ef3b05242896016cd2928a123ed711272f (diff)
downloadfocaccia-qemu-c35b2fb1fdc7f6926653cc6df289e5bd77ecbad3.tar.gz
focaccia-qemu-c35b2fb1fdc7f6926653cc6df289e5bd77ecbad3.zip
target/i386: fix shadowed variable pasto
Commit a908985971a ("target/i386/seg_helper: introduce tss_set_busy",
2023-09-26) failed to use the tss_selector argument of the new function,
which was therefore unused.

This shows up as a #GP fault when booting old versions of 32-bit
Linux.

Fixes: a908985971a ("target/i386/seg_helper: introduce tss_set_busy", 2023-09-26)
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-ID: <20231011135350.438492-1-pbonzini@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
-rw-r--r--target/i386/tcg/seg_helper.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/target/i386/tcg/seg_helper.c b/target/i386/tcg/seg_helper.c
index 2b92aee207..eb29a1fd4e 100644
--- a/target/i386/tcg/seg_helper.c
+++ b/target/i386/tcg/seg_helper.c
@@ -229,7 +229,7 @@ static void tss_load_seg(CPUX86State *env, X86Seg seg_reg, int selector,
 static void tss_set_busy(CPUX86State *env, int tss_selector, bool value,
                          uintptr_t retaddr)
 {
-    target_ulong ptr = env->gdt.base + (env->tr.selector & ~7);
+    target_ulong ptr = env->gdt.base + (tss_selector & ~7);
     uint32_t e2 = cpu_ldl_kernel_ra(env, ptr + 4, retaddr);
 
     if (value) {