summaryrefslogtreecommitdiffstats
path: root/sys/xen
diff options
context:
space:
mode:
authordelphij <delphij@FreeBSD.org>2017-04-12 06:24:35 +0000
committerdelphij <delphij@FreeBSD.org>2017-04-12 06:24:35 +0000
commit5fde0dfdaf2dfb5af2d9559dbfdc5aece1ae9be8 (patch)
tree1af9b08af11bd4ed5beaaaae029e04db40a1fc87 /sys/xen
parent6dc11fa9cd5453e09c102edababfba2e44efdce9 (diff)
downloadFreeBSD-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.h2
-rw-r--r--sys/xen/xenbus/xenbusb.c5
-rw-r--r--sys/xen/xenstore/xenstorevar.h11
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 */
+
OpenPOWER on IntegriCloud