diff options
Diffstat (limited to 'results/classifier/014/semantic-x86/gitlab_semantic_bextr')
| -rw-r--r-- | results/classifier/014/semantic-x86/gitlab_semantic_bextr | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/results/classifier/014/semantic-x86/gitlab_semantic_bextr b/results/classifier/014/semantic-x86/gitlab_semantic_bextr deleted file mode 100644 index 111e916c..00000000 --- a/results/classifier/014/semantic-x86/gitlab_semantic_bextr +++ /dev/null @@ -1,57 +0,0 @@ -x86: 0.997 -semantic: 0.993 -architecture: 0.859 -register: 0.846 -assembly: 0.800 -graphic: 0.790 -device: 0.717 -operating system: 0.620 -debug: 0.603 -ppc: 0.525 -boot: 0.516 -kernel: 0.479 -vnc: 0.471 -socket: 0.397 -risc-v: 0.396 -i386: 0.361 -mistranslation: 0.337 -arm: 0.336 -PID: 0.234 -performance: 0.233 -network: 0.219 -permissions: 0.188 -alpha: 0.150 -TCG: 0.109 -VMM: 0.102 -virtual: 0.101 -files: 0.099 -peripherals: 0.099 -KVM: 0.091 -hypervisor: 0.024 -user-level: 0.015 - -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. |