diff --git a/xen/common/kexec.c b/xen/common/kexec.c index 84fe8c3597..1a3a20e1c9 100644 --- a/xen/common/kexec.c +++ b/xen/common/kexec.c @@ -1217,7 +1217,7 @@ static int do_kexec_op_internal(unsigned long op, XEN_GUEST_HANDLE_PARAM(void) uarg, bool compat) { - int ret = -EINVAL; + int ret; ret = xsm_kexec(XSM_PRIV); if ( ret ) @@ -1258,6 +1258,10 @@ static int do_kexec_op_internal(unsigned long op, case KEXEC_CMD_kexec_status: ret = kexec_status(uarg); break; + + default: + ret = -EOPNOTSUPP; + break; } clear_bit(KEXEC_FLAG_IN_HYPERCALL, &kexec_flags);