mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-09-22 01:07:57 +00:00
HV: validate target vm in hypercall
- The target vm in most of hypercalls should be a NORMAL_VM, in some exceptions it might be a SOS_VM, we should validate them. - Please be aware that some hypercall might have limitation on specific target vm like RT or SAFETY VMs, this leaves "TODO" in future; - Unify the coding style: int32_t hcall_foo(vm, target_vm_id, ...) { int32_t ret = -1; ... if ((is_valid_vm(target_vm) && is_normal_vm(target_vm)) { ret = .... } return ret; } Tracked-On: #2978 Signed-off-by: Victor Sun <victor.sun@intel.com> Acked-by: Anthony Xu <anthony.xu@intel.com> Acked-by: Eddie Dong <eddie.dong@intel.com>
This commit is contained in:
@@ -205,6 +205,7 @@ void prepare_vm(uint16_t vm_id, struct acrn_vm_config *vm_config);
|
||||
void launch_vms(uint16_t pcpu_id);
|
||||
bool is_valid_vm(const struct acrn_vm *vm);
|
||||
bool is_sos_vm(const struct acrn_vm *vm);
|
||||
bool is_normal_vm(const struct acrn_vm *vm);
|
||||
bool is_prelaunched_vm(const struct acrn_vm *vm);
|
||||
uint16_t get_vmid_by_uuid(const uint8_t *uuid);
|
||||
struct acrn_vm *get_vm_from_vmid(uint16_t vm_id);
|
||||
|
Reference in New Issue
Block a user