google / google/capsem

kvm-diagnostic.py has signed integer overflow

Open
#49 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
72
Forks
13
Avg merge
1d 2h
Merged PRs (30d)
5

Description

Running `python3 ./scripts/kvm-diagnostic.py` results in:

```
============================================================
Capsem KVM Diagnostic
============================================================

[Phase 1] /dev/kvm basics
[INFO] /dev/kvm mode: 0o20660
[INFO] /dev/kvm uid:gid: 0:994
[OK] open(/dev/kvm): fd=3
[OK] KVM_GET_API_VERSION: 12
[OK] KVM_GET_VCPU_MMAP_SIZE: 12288

[Phase 2] KVM capabilities
[OK] KVM_CAP_IRQCHIP: 1
[OK] KVM_CAP_NR_VCPUS: 12
[OK] KVM_CAP_MAX_VCPUS: 4096
[OK] KVM_CAP_SPLIT_IRQCHIP: 1
[OK] KVM_CAP_NR_MEMSLOTS: 32764

[Phase 3] Capsem boot sequence (irqchip THEN vcpu)
This matches the current Capsem code path.
[OK] KVM_CREATE_VM: 4
Traceback (most recent call last):
File "/REDACTED/capsem/./scripts/kvm-diagnostic.py", line 260, in
main()
~~~~^^
File "/REDACTED/capsem/./scripts/kvm-diagnostic.py", line 116, in main
check("KVM_SET_TSS_ADDR(0xFFFBD000)",
~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lambda: fcntl.ioctl(vm1, KVM_SET_TSS_ADDR, 0xFFFBD000))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/REDACTED/capsem/./scripts/kvm-diagnostic.py", line 50, in check
result = fn()
File "/REDACTED/capsem/./scripts/kvm-diagnostic.py", line 117, in
lambda: fcntl.ioctl(vm1, KVM_SET_TSS_ADDR, 0xFFFBD000))
~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
OverflowError: signed integer is greater than maximum
```

There is a fix in #31.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.