[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 3/5] kqemu: Fix forbidden selector range change
From: |
Jan Kiszka |
Subject: |
[Qemu-devel] [PATCH 3/5] kqemu: Fix forbidden selector range change |
Date: |
Fri, 29 May 2009 19:18:31 +0200 |
User-agent: |
StGIT/0.14.3 |
Do not bail out on LDT selectors that match the reserved monitor GDT
selector range. At this chance, improve the related panic message.
Signed-off-by: Jan Kiszka <address@hidden>
---
common/interp.c | 7 +++++--
1 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/common/interp.c b/common/interp.c
index 088d2b2..4c042e9 100644
--- a/common/interp.c
+++ b/common/interp.c
@@ -775,9 +775,12 @@ static void load_seg_desc(struct kqemu_state *s,
#ifdef DEBUG_SEG
monitor_log(s, "load_seg_desc: reg=%d sel=0x%04x\n", seg_reg, selector);
#endif
- if (selector >= s->monitor_selector_base &&
+ if (!(selector & 0x4) && selector >= s->monitor_selector_base &&
selector <= (s->monitor_selector_base + MONITOR_SEL_RANGE)) {
- monitor_panic(s, "Trying to load a reserved selector\n");
+ monitor_panic(s, "Trying to load a reserved selector "
+ "(reg=%d sel=0x%04x cs:ip=%04x:" FMT_lx ")\n",
+ seg_reg, selector, env->segs[R_CS].selector,
+ (unsigned long)env->eip);
}
if ((selector & 0xfffc) == 0) {
- [Qemu-devel] [PATCH 0/5] Some small kqemu fixes and enhancements, Jan Kiszka, 2009/05/29
- [Qemu-devel] [PATCH 4/5] kqemu: Implement verr/verw in the monitor code interpreter, Jan Kiszka, 2009/05/29
- [Qemu-devel] [PATCH 5/5] kqemu: Implement lar/lsl in the monitor code interpreter, Jan Kiszka, 2009/05/29
- [Qemu-devel] [PATCH 2/5] kqemu: i386: Reorder DS and ES on exception stack, Jan Kiszka, 2009/05/29
- [Qemu-devel] [PATCH 3/5] kqemu: Fix forbidden selector range change,
Jan Kiszka <=
- [Qemu-devel] [PATCH 1/5] kqemu: x86-64: Run 16-bit-stack-return in ring 0, Jan Kiszka, 2009/05/29
- Re: [Qemu-devel] [PATCH 0/5] Some small kqemu fixes and enhancements, Andreas Färber, 2009/05/29