diff options
Diffstat (limited to 'results/classifier/016/assembly-x86/gitlab_semantic_bextr')
| -rw-r--r-- | results/classifier/016/assembly-x86/gitlab_semantic_bextr | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/results/classifier/016/assembly-x86/gitlab_semantic_bextr b/results/classifier/016/assembly-x86/gitlab_semantic_bextr deleted file mode 100644 index 3d1539ef..00000000 --- a/results/classifier/016/assembly-x86/gitlab_semantic_bextr +++ /dev/null @@ -1,57 +0,0 @@ -x86: 1.000 -assembly: 0.991 -semantic: 0.982 -i386: 0.980 -debug: 0.687 -register: 0.219 -user-level: 0.151 -operating system: 0.067 -virtual: 0.044 -files: 0.029 -kernel: 0.023 -hypervisor: 0.017 -performance: 0.017 -TCG: 0.016 -architecture: 0.009 -PID: 0.008 -peripherals: 0.007 -device: 0.007 -network: 0.006 -alpha: 0.003 -risc-v: 0.003 -VMM: 0.003 -permissions: 0.002 -socket: 0.002 -KVM: 0.002 -graphic: 0.002 -boot: 0.002 -ppc: 0.001 -vnc: 0.001 -mistranslation: 0.001 -arm: 0.000 - -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. |