mirror of
https://github.com/speed47/spectre-meltdown-checker
synced 2024-11-19 04:22:22 +01:00
fix: has_vmm: ignore kernel threads when looking for a hypervisor (fixes #278)
This commit is contained in:
parent
a343bccb49
commit
5633d374de
@ -3051,10 +3051,22 @@ check_has_vmm()
|
|||||||
if command -v pgrep >/dev/null 2>&1; then
|
if command -v pgrep >/dev/null 2>&1; then
|
||||||
# remove xenbus and xenwatch, also present inside domU
|
# remove xenbus and xenwatch, also present inside domU
|
||||||
# remove libvirtd as it can also be used to manage containers and not VMs
|
# remove libvirtd as it can also be used to manage containers and not VMs
|
||||||
if pgrep qemu >/dev/null || pgrep kvm >/dev/null || \
|
# for each binary we want to grep, get the pids
|
||||||
pgrep xenstored >/dev/null || pgrep xenconsoled >/dev/null; then
|
for _binary in qemu kvm xenstored xenconsoled
|
||||||
|
do
|
||||||
|
for _pid in $(pgrep $_binary)
|
||||||
|
do
|
||||||
|
# resolve the exe symlink, if it doesn't resolve with -m,
|
||||||
|
# which doesn't even need the dest to exist, it means the symlink
|
||||||
|
# is null, which is the case for kernel threads: ignore those to
|
||||||
|
# avoid false positives (such as [kvm-irqfd-clean] under at least RHEL 7.6/7.7)
|
||||||
|
if ! [ "$(readlink -m "/proc/$_pid/exe")" = "/proc/$_pid/exe" ]; then
|
||||||
|
_debug "has_vmm: found PID $_pid"
|
||||||
has_vmm=1
|
has_vmm=1
|
||||||
fi
|
fi
|
||||||
|
done
|
||||||
|
done
|
||||||
|
unset _binary _pid
|
||||||
else
|
else
|
||||||
# ignore SC2009 as `ps ax` is actually used as a fallback if `pgrep` isn't installed
|
# ignore SC2009 as `ps ax` is actually used as a fallback if `pgrep` isn't installed
|
||||||
# shellcheck disable=SC2009
|
# shellcheck disable=SC2009
|
||||||
|
Loading…
Reference in New Issue
Block a user