Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Kvm vgic #5163

Merged
merged 6 commits into from
Sep 3, 2024
Merged

Kvm vgic #5163

merged 6 commits into from
Sep 3, 2024

Conversation

ramosian-glider
Copy link
Member


Before sending a pull request, please review Contribution Guidelines:
https://github.com/google/syzkaller/blob/master/docs/contributing.md


pkg/vminfo/linux_syscalls.go Outdated Show resolved Hide resolved
executor/common_kvm_arm64.h Outdated Show resolved Hide resolved
executor/common_kvm_arm64.h Outdated Show resolved Hide resolved
sys/linux/dev_kvm.txt Outdated Show resolved Hide resolved
executor/common_kvm_arm64.h Outdated Show resolved Hide resolved
executor/common_kvm_arm64.h Show resolved Hide resolved
sys/linux/dev_kvm.txt Outdated Show resolved Hide resolved
@ramosian-glider
Copy link
Member Author

I had to rename the ICC registers because the old toolchain in syz-old-env didn't recognize them.

@ramosian-glider
Copy link
Member Author

PTAL (take your time, not sure it's the best idea to land the series today)

@ramosian-glider
Copy link
Member Author

What's interesting is that the coverage with this series went down by ~500 BBs and gained back only ~300 during the day.
Perhaps changes that add device attributes need to be landed separately to better understand their effect.

@dvyukov
Copy link
Collaborator

dvyukov commented Aug 12, 2024

What's interesting is that the coverage with this series went down by ~500 BBs and gained back only ~300 during the day. Perhaps changes that add device attributes need to be landed separately to better understand their effect.

If it does not restore, potentially it's possible to look at a diff coverage report.

executor/common_kvm_arm64_syzos.h Show resolved Hide resolved
pkg/vminfo/linux_syscalls.go Outdated Show resolved Hide resolved
executor/common_kvm_arm64_syzos.h Outdated Show resolved Hide resolved
executor/common_kvm_arm64_syzos.h Outdated Show resolved Hide resolved
executor/common_kvm_arm64_syzos.h Outdated Show resolved Hide resolved
@ramosian-glider
Copy link
Member Author

@dvyukov PTAL

dvyukov
dvyukov previously approved these changes Sep 3, 2024
executor/common_kvm_arm64_syzos.h Outdated Show resolved Hide resolved
executor/common_kvm_arm64_syzos.h Show resolved Hide resolved
@ramosian-glider
Copy link
Member Author

What's interesting is that the coverage with this series went down by ~500 BBs and gained back only ~300 during the day. Perhaps changes that add device attributes need to be landed separately to better understand their effect.

If it does not restore, potentially it's possible to look at a diff coverage report.

I tested the patches adding device attributes separately, and they were able to gain the same coverage as master.

The new pseudo-syscall sets up VGICv3 IRQ controller on the host.
That still requires guest setup code, which will be submitted separately.
Implement basic IRQ controller setup for VMs with a single CPU.
SYZOS_API_IRQ_SETUP sets up the VGICv3 distributor/redistributor and
enables the specified number of SPIs starting from 32.

The default IRQ handler is set up to perform a uexit(-2).
According to https://docs.kernel.org/virt/kvm/devices/vcpu.html,
VCPUs also have device attributes. Add descriptions for ioctls that
manipulate those attributes.
Do not specify the attribute input types for now.
@ramosian-glider ramosian-glider added this pull request to the merge queue Sep 3, 2024
Merged via the queue into google:master with commit 6632e0e Sep 3, 2024
17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants