facebookexperimental / facebookexperimental/semcode

handle KVM indirect calls

Open
#74 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
171
Forks
40
Avg merge
4h 24m
Merged PRs (30d)
24

Description

__vmx_handle_exit() has a table of function calls that semcode currently fails to handle:

exit_handler_index = array_index_nospec((u16)exit_reason.basic,
kvm_vmx_max_exit_handlers);
if (!kvm_vmx_exit_handlers[exit_handler_index])
goto unexpected_vmexit;

return kvm_vmx_exit_handlers[exit_handler_index](vcpu);

Both kvm_handle_invalid_op and handle_vmx_construction are called through the table above, but semcode doesn't know:

semcode> callers kvm_handle_invalid_op
Finding all functions that call: kvm_handle_invalid_op

=== Direct Callers ===
1 functions directly call 'kvm_handle_invalid_op':
1. kvm_emulate_monitor_mwait
semcode> callers handle_vmx_instruction
Finding all functions that call: handle_vmx_instruction
Info: No functions call 'handle_vmx_instruction'

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.