blob: 048c954474a92d0269ee7b96a9e75c8bc96e66ce (
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
|
semantic: 0.512
other: 0.112
graphic: 0.072
device: 0.051
vnc: 0.039
permissions: 0.030
files: 0.028
debug: 0.027
performance: 0.026
boot: 0.026
socket: 0.025
network: 0.023
PID: 0.018
KVM: 0.012
semantic: 0.826
debug: 0.055
other: 0.025
performance: 0.020
files: 0.018
PID: 0.011
device: 0.008
network: 0.006
permissions: 0.006
KVM: 0.006
boot: 0.006
graphic: 0.005
socket: 0.004
vnc: 0.003
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.
|