diff options
author | delphij <delphij@FreeBSD.org> | 2017-04-12 06:24:35 +0000 |
---|---|---|
committer | delphij <delphij@FreeBSD.org> | 2017-04-12 06:24:35 +0000 |
commit | 5fde0dfdaf2dfb5af2d9559dbfdc5aece1ae9be8 (patch) | |
tree | 1af9b08af11bd4ed5beaaaae029e04db40a1fc87 /sys/xen | |
parent | 6dc11fa9cd5453e09c102edababfba2e44efdce9 (diff) | |
download | FreeBSD-src-5fde0dfdaf2dfb5af2d9559dbfdc5aece1ae9be8.zip FreeBSD-src-5fde0dfdaf2dfb5af2d9559dbfdc5aece1ae9be8.tar.gz |
Fix multiple vulnerabilities of ntp. [SA-17:03]
Xen migration enhancements. [EN-17:05]
Approved by: so
Diffstat (limited to 'sys/xen')
-rw-r--r-- | sys/xen/xen-os.h | 2 | ||||
-rw-r--r-- | sys/xen/xenbus/xenbusb.c | 5 | ||||
-rw-r--r-- | sys/xen/xenstore/xenstorevar.h | 11 |
3 files changed, 18 insertions, 0 deletions
diff --git a/sys/xen/xen-os.h b/sys/xen/xen-os.h index 96e084f..044433a 100644 --- a/sys/xen/xen-os.h +++ b/sys/xen/xen-os.h @@ -56,6 +56,8 @@ extern char *console_page; extern int xen_disable_pv_disks; extern int xen_disable_pv_nics; +extern bool xen_suspend_cancelled; + enum xen_domain_type { XEN_NATIVE, /* running on bare hardware */ XEN_PV_DOMAIN, /* running in a PV domain */ diff --git a/sys/xen/xenbus/xenbusb.c b/sys/xen/xenbus/xenbusb.c index 0352548..241efaa 100644 --- a/sys/xen/xenbus/xenbusb.c +++ b/sys/xen/xenbus/xenbusb.c @@ -791,6 +791,11 @@ xenbusb_resume(device_t dev) if (device_get_state(kids[i]) == DS_NOTPRESENT) continue; + if (xen_suspend_cancelled) { + DEVICE_RESUME(kids[i]); + continue; + } + ivars = device_get_ivars(kids[i]); xs_unregister_watch(&ivars->xd_otherend_watch); diff --git a/sys/xen/xenstore/xenstorevar.h b/sys/xen/xenstore/xenstorevar.h index 208e5bf..4c612b4 100644 --- a/sys/xen/xenstore/xenstorevar.h +++ b/sys/xen/xenstore/xenstorevar.h @@ -338,4 +338,15 @@ void xs_unregister_watch(struct xs_watch *watch); */ struct sbuf *xs_join(const char *, const char *); +/** + * Lock the xenstore request mutex. + */ +void xs_lock(void); + +/** + * Unlock the xenstore request mutex. + */ +void xs_unlock(void); + #endif /* _XEN_XENSTORE_XENSTOREVAR_H */ + |