diff options
Diffstat (limited to 'results/classifier/05/semantic/gitlab_semantic_bextr')
| -rw-r--r-- | results/classifier/05/semantic/gitlab_semantic_bextr | 38 |
1 files changed, 0 insertions, 38 deletions
diff --git a/results/classifier/05/semantic/gitlab_semantic_bextr b/results/classifier/05/semantic/gitlab_semantic_bextr deleted file mode 100644 index 04138b620..000000000 --- a/results/classifier/05/semantic/gitlab_semantic_bextr +++ /dev/null @@ -1,38 +0,0 @@ -semantic: 0.993 -instruction: 0.944 -assembly: 0.800 -graphic: 0.790 -device: 0.717 -boot: 0.516 -vnc: 0.471 -socket: 0.397 -mistranslation: 0.337 -network: 0.219 -other: 0.099 -KVM: 0.091 - -x86 BEXTR semantic bug -Description of problem -The result of instruction BEXTR is different with from the CPU. The value of destination register is different. I think QEMU does not consider the operand size limit. - -Steps to reproduce - -Compile this code - -void main() { - asm("mov rax, 0x17b3693f77fb6e9"); - asm("mov rbx, 0x8f635a775ad3b9b4"); - asm("mov rcx, 0xb717b75da9983018"); - asm("bextr eax, ebx, ecx"); -} - -Execute and compare the result with the CPU. - -CPU -RAX = 0x5a - -QEMU -RAX = 0x635a775a - -Additional information -This bug is discovered by research conducted by KAIST SoftSec. |