summary refs log tree commit diff stats
path: root/results/classifier/zero-shot/016/semantic-x86/gitlab_semantic_blsmsk
blob: a3e16a08d5ceb37d0c71afbbd3d0d12b02d84dc7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
x86: 1.000
semantic: 0.987
assembly: 0.982
i386: 0.968
debug: 0.389
register: 0.292
operating system: 0.057
kernel: 0.047
files: 0.027
performance: 0.021
virtual: 0.019
TCG: 0.016
peripherals: 0.011
user-level: 0.011
device: 0.009
PID: 0.008
architecture: 0.008
hypervisor: 0.006
VMM: 0.005
KVM: 0.004
network: 0.004
permissions: 0.003
socket: 0.003
boot: 0.003
graphic: 0.002
risc-v: 0.002
alpha: 0.002
vnc: 0.001
mistranslation: 0.001
ppc: 0.000
arm: 0.000

x86 BLSMSK semantic bug
Description of problem
The result of instruction BLSMSK is different with from the CPU. The value of CF is different.

Steps to reproduce

Compile this code

void main() {
    asm("mov rax, 0x65b2e276ad27c67");
    asm("mov rbx, 0x62f34955226b2b5d");
    asm("blsmsk eax, ebx");
}

Execute and compare the result with the CPU.

CPU

CF = 0


QEMU

CF = 1

Additional information
This bug is discovered by research conducted by KAIST SoftSec.