summary refs log tree commit diff stats
path: root/results/classifier/014/semantic-x86/gitlab_semantic_blsi
blob: fcafc77ae0d62367762ffae5c90bdb7dda3a97c9 (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
x86: 0.997
semantic: 0.983
architecture: 0.887
graphic: 0.873
assembly: 0.852
i386: 0.827
device: 0.790
kernel: 0.770
socket: 0.764
vnc: 0.756
operating system: 0.725
ppc: 0.719
arm: 0.685
boot: 0.678
network: 0.672
performance: 0.656
risc-v: 0.651
files: 0.633
permissions: 0.619
mistranslation: 0.606
TCG: 0.538
debug: 0.525
PID: 0.488
register: 0.488
alpha: 0.475
VMM: 0.449
KVM: 0.412
virtual: 0.342
peripherals: 0.335
hypervisor: 0.238
user-level: 0.138

x86 BLSI and BLSR semantic bug
Description of problem
The result of instruction BLSI and BLSR is different from the CPU. The value of CF is different.

Steps to reproduce

Compile this code


void main() {
    asm("blsi rax, rbx");
}



Execute and compare the result with the CPU. The value of CF is exactly the opposite. This problem happens with BLSR, too.


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