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

kernel/idt: Ensure #HV handler RIP checks are executed when interrupts are enabled #491

Closed
wants to merge 1 commit into from

Commits on Oct 22, 2024

  1. kernel/idt: Ensure #HV handler RIP checks work when interrupts are en…

    …abled
    
    The #HV handler currently checks EFLAGS.IF=1 at the start of the handler
    and immediately processes the #HV events if enabled without performing
    checks to see if RIP is within the VMPL switch or the iret window. The
    RIP windows are only checked if EFLAGS.IF=0.
    
    This means that if interrupts are enabled during either of these windows
    and a #HV occurs then the behaviour is undefined.
    
    The code has been reorganised in this patch to examine EFLAGS.IF only
    after both RIP windows have been checked.
    
    Signed-off-by: Roy Hopkins <[email protected]>
    roy-hopkins committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    8392dc8 View commit details
    Browse the repository at this point in the history