Skip to content

Conversation

@Mifacopy
Copy link

Background

On paravirtual guests we could fail to rewrite certain indirect calls (e.g., CALLEE_SAVE paravirt functions like pv_queued_spin_unlock()), leaving indirect calls in place and weakening the Spectre-v2 mitigation that relies on avoiding indirect branches; this is tracked as CVE-2018-15594.

Changes

In arch/x86/kernel/paravirt.c, remove the incorrect clobber test in paravirt_patch_call() (the patch rewrites an indirect call into a direct call to the same function so clobbers cannot differ), and add WARN_ONCE diagnostics for the other patch failure case (insufficient room for the instruction) under CONFIG_RETPOLINE.

Security Impact

Restores intended Spectre-v2 hardening for paravirtual guests by ensuring indirect calls are properly patched, addressing CVE-2018-15594.

References

Upstream commit: 5800dc5c19f34e6e03b5adab1282535cb102fafd; CVE: CVE-2018-15594

@meta-cla meta-cla bot added the CLA Signed Do not delete this pull request or issue due to inactivity. label Dec 28, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed Do not delete this pull request or issue due to inactivity.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant