Skip to content

virt_mshv: fix VMBus by installing unknown SynIC connection intercept#3273

Merged
jstarks merged 1 commit intomicrosoft:mainfrom
jstarks:unknown
Apr 14, 2026
Merged

virt_mshv: fix VMBus by installing unknown SynIC connection intercept#3273
jstarks merged 1 commit intomicrosoft:mainfrom
jstarks:unknown

Conversation

@jstarks
Copy link
Copy Markdown
Member

@jstarks jstarks commented Apr 14, 2026

VMBus channel establishment was broken because the hypervisor silently dropped guest HvPostMessage and HvSignalEvent hypercalls targeting connections it did not recognise. This change registers an HvInterceptTypeUnknownSynicConnection intercept so those hypercalls are forwarded to the VMM, allowing VMBus to function correctly.

VMBus channel establishment was broken because the hypervisor silently
dropped guest HvPostMessage and HvSignalEvent hypercalls targeting
connections it did not recognise. This change registers an
HvInterceptTypeUnknownSynicConnection intercept so those hypercalls are
forwarded to the VMM, allowing VMBus to function correctly.
@jstarks jstarks requested a review from a team as a code owner April 14, 2026 08:41
Copilot AI review requested due to automatic review settings April 14, 2026 08:41
@github-actions github-actions bot added the unsafe Related to unsafe code label Apr 14, 2026
@github-actions
Copy link
Copy Markdown

⚠️ Unsafe Code Detected

This PR modifies files containing unsafe Rust code. Extra scrutiny is required during review.

For more on why we check whole files, instead of just diffs, check out the Rustonomicon

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Fixes VMBus channel establishment on the Linux MSHV backend by ensuring guest HvPostMessage / HvSignalEvent hypercalls targeting unknown SynIC connection IDs are intercepted and forwarded to the VMM, instead of being silently dropped by the hypervisor.

Changes:

  • Install an HvInterceptTypeUnknownSynicConnection intercept during VM creation on virt_mshv.
  • Add inline commentary explaining why the intercept is required for guest-initiated SynIC connections.

@github-actions
Copy link
Copy Markdown

@jstarks jstarks merged commit 392e538 into microsoft:main Apr 14, 2026
63 of 65 checks passed
@jstarks jstarks deleted the unknown branch April 14, 2026 15:43
gurasinghMS pushed a commit to gurasinghMS/openvmm that referenced this pull request Apr 17, 2026
…microsoft#3273)

VMBus channel establishment was broken because the hypervisor silently
dropped guest HvPostMessage and HvSignalEvent hypercalls targeting
connections it did not recognise. This change registers an
HvInterceptTypeUnknownSynicConnection intercept so those hypercalls are
forwarded to the VMM, allowing VMBus to function correctly.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

unsafe Related to unsafe code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants