Message ID | 1453973656-17286-1-git-send-email-vkuznets@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
>>> On 28.01.16 at 10:34, <vkuznets@redhat.com> wrote: > --- a/xen/common/domain.c > +++ b/xen/common/domain.c > @@ -1074,7 +1074,10 @@ int domain_soft_reset(struct domain *d) > grant_table_warn_active_grants(d); > > for_each_vcpu ( d, v ) > + { > + memset(&runstate_guest(v), 0, sizeof(runstate_guest(v))); > unmap_vcpu_info(v); > + } Well, the idea seems okay, but using memset() looks bogus: Why can't you use guest_handle_from_pointer(NULL, ...) or set_xen_guest_handle(..., NULL)? Jan
diff --git a/xen/common/domain.c b/xen/common/domain.c index 2979c1b..6b2b7dc 100644 --- a/xen/common/domain.c +++ b/xen/common/domain.c @@ -1074,7 +1074,10 @@ int domain_soft_reset(struct domain *d) grant_table_warn_active_grants(d); for_each_vcpu ( d, v ) + { + memset(&runstate_guest(v), 0, sizeof(runstate_guest(v))); unmap_vcpu_info(v); + } rc = arch_domain_soft_reset(d); if ( !rc )
runstate_guest handles need to be reset to prevent update_runstate_area() corrupting guest's memory after we resume the guest. Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com> --- xen/common/domain.c | 3 +++ 1 file changed, 3 insertions(+)