Skip to content

Commit 7caccb7

Browse files
authored
Merge branch 'main' into pci_cleanup
2 parents 6de3060 + feffd18 commit 7caccb7

File tree

4 files changed

+60
-10
lines changed

4 files changed

+60
-10
lines changed

.github/dependabot.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ updates:
77
day: "monday"
88
allow:
99
- dependency-type: "all"
10+
ignore:
11+
- dependency-name: "aws-lc-rs"
1012
groups:
1113
rust-vmm:
1214
patterns:

Cargo.lock

Lines changed: 31 additions & 9 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/vmm/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ acpi_tables = { path = "../acpi-tables" }
1919
aes-gcm = { version = "0.10.1", default-features = false, features = ["aes"] }
2020
anyhow = "1.0.100"
2121
arrayvec = { version = "0.7.6", optional = true }
22-
aws-lc-rs = { version = "1.14.1", features = ["bindgen"] }
22+
aws-lc-rs = { version = "1.14.0", features = ["bindgen"] }
2323
base64 = "0.22.1"
2424
bincode = { version = "2.0.1", features = ["serde"] }
2525
bitflags = "2.9.4"

tests/integration_tests/security/test_vulnerabilities.py

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,13 @@
1111

1212
import pytest
1313
import requests
14+
from packaging import version
1415

1516
from framework import utils
1617
from framework.ab_test import git_clone
1718
from framework.microvm import MicroVMFactory
1819
from framework.properties import global_props
20+
from framework.utils_cpuid import CpuVendor, get_cpu_vendor
1921

2022
CHECKER_URL = "https://raw.githubusercontent.com/speed47/spectre-meltdown-checker/master/spectre-meltdown-checker.sh"
2123
CHECKER_FILENAME = "spectre-meltdown-checker.sh"
@@ -132,8 +134,32 @@ def get_vuln_files_exception_dict(template):
132134
"""
133135
Returns a dictionary of expected values for vulnerability files requiring special treatment.
134136
"""
137+
host_kernel_version = version.parse(utils.get_kernel_version())
138+
cpu_vendor = get_cpu_vendor()
135139
exception_dict = {}
136140

141+
# Exception for tsa
142+
# =============================
143+
#
144+
# AMD guests on 6.1 hosts before 6.1.153
145+
# --------------------------------------------
146+
# On 6.1 kernels before 6.1.153 [1], KVM doesn't tell the guest that the microcode with the TSA
147+
# mitigation has been applied by setting CPUID.(EAX=0x80000021,ECX=0):EAX[5 (CLEAR_VERW)].
148+
# The guest applies the mitigation anyways, but flags it as possibly vulnerable as it cannot
149+
# verify that the microcode update has been applied correctly.
150+
# Note that this doesn't affect the T2A template (deprecated) as the presented CPU is older
151+
# and not recognised as being affected by TSA.
152+
# [1]: https://github.com/amazonlinux/linux/commit/8d1e0db16431610b5b35737d88595bdd7a08e271
153+
154+
if (
155+
cpu_vendor == CpuVendor.AMD
156+
and template == "None"
157+
and host_kernel_version.major == 6
158+
and host_kernel_version.minor == 1
159+
and host_kernel_version.micro < 153
160+
):
161+
exception_dict["tsa"] = "Vulnerable: Clear CPU buffers attempted, no microcode"
162+
137163
# Exception for mmio_stale_data
138164
# =============================
139165
#

0 commit comments

Comments
 (0)