summary refs log tree commit diff stats
path: root/gitlab/issues_text/target_i386/host_missing/accel_TCG/1376
diff options
context:
space:
mode:
Diffstat (limited to 'gitlab/issues_text/target_i386/host_missing/accel_TCG/1376')
-rw-r--r--gitlab/issues_text/target_i386/host_missing/accel_TCG/137615
1 files changed, 15 insertions, 0 deletions
diff --git a/gitlab/issues_text/target_i386/host_missing/accel_TCG/1376 b/gitlab/issues_text/target_i386/host_missing/accel_TCG/1376
new file mode 100644
index 000000000..06247c64a
--- /dev/null
+++ b/gitlab/issues_text/target_i386/host_missing/accel_TCG/1376
@@ -0,0 +1,15 @@
+x86 LSL and LAR fault
+Description of problem:
+From the description of LSL and LAR instructions in manual, `If the segment descriptor cannot be accessed or is an invalid type for the instruction, the ZF flag is cleared and no value is loaded in the destination operand.`. When it happens at the CPU, it seems they do nothing (nop). However, in QEMU, it crashes.
+Steps to reproduce:
+1. Compile this code
+```
+void main() {
+    asm("mov rax, 0xa02e698e741f5a6a");
+    asm("mov rbx, 0x20959ddd7a0aef");
+    asm("lsl ax, bx");
+}
+```
+2. Execute. QEMU crashes but CPU does not. This problem happens with LAR, too.
+Additional information:
+This bug is discovered by research conducted by KAIST SoftSec.