summary refs log tree commit diff stats
path: root/classification/semantic_issues/gitlab_semantic_adox
diff options
context:
space:
mode:
authorChristian Krinitsin <mail@krinitsin.com>2025-06-01 21:19:28 +0200
committerChristian Krinitsin <mail@krinitsin.com>2025-06-01 21:19:28 +0200
commit05ed9b00104b3da2e9cb0d541b5c5bbceb027fde (patch)
treed47bd9721b78db6131d56780e7230cf69412eaa6 /classification/semantic_issues/gitlab_semantic_adox
parentcddf7dfa5a6e92a9057e7f6afae5d9b970585e6f (diff)
downloadqemu-analysis-05ed9b00104b3da2e9cb0d541b5c5bbceb027fde.tar.gz
qemu-analysis-05ed9b00104b3da2e9cb0d541b5c5bbceb027fde.zip
adjust classifier
Diffstat (limited to 'classification/semantic_issues/gitlab_semantic_adox')
-rw-r--r--classification/semantic_issues/gitlab_semantic_adox36
1 files changed, 36 insertions, 0 deletions
diff --git a/classification/semantic_issues/gitlab_semantic_adox b/classification/semantic_issues/gitlab_semantic_adox
new file mode 100644
index 000000000..9f4471c9a
--- /dev/null
+++ b/classification/semantic_issues/gitlab_semantic_adox
@@ -0,0 +1,36 @@
+x86 ADOX and ADCX semantic bug
+Description of problem
+The result of instruction ADOX and ADCX are different from the CPU. The value of one of EFLAGS is different.
+
+Steps to reproduce
+
+Compile this code
+
+
+void main() {
+    asm("push 512; popfq;");
+    asm("mov rax, 0xffffffff84fdbf24");
+    asm("mov rbx, 0xb197d26043bec15d");
+    asm("adox eax, ebx");
+}
+
+
+
+Execute and compare the result with the CPU. This problem happens with ADCX, too (with CF).
+
+CPU
+
+OF = 0
+
+
+QEMU
+
+OF = 1
+
+
+
+
+
+
+Additional information
+This bug is discovered by research conducted by KAIST SoftSec.