summaryrefslogtreecommitdiffstats
path: root/0001-virt-vbox-Add-vbg_set_host_capabilities-helper-funct.patch
diff options
context:
space:
mode:
Diffstat (limited to '0001-virt-vbox-Add-vbg_set_host_capabilities-helper-funct.patch')
-rw-r--r--0001-virt-vbox-Add-vbg_set_host_capabilities-helper-funct.patch16
1 files changed, 8 insertions, 8 deletions
diff --git a/0001-virt-vbox-Add-vbg_set_host_capabilities-helper-funct.patch b/0001-virt-vbox-Add-vbg_set_host_capabilities-helper-funct.patch
index 3362eaddf..2128d4912 100644
--- a/0001-virt-vbox-Add-vbg_set_host_capabilities-helper-funct.patch
+++ b/0001-virt-vbox-Add-vbg_set_host_capabilities-helper-funct.patch
@@ -19,7 +19,7 @@ index aee5eff229f2..15b3cb618c6e 100644
@@ -661,6 +661,48 @@ static int vbg_reset_host_capabilities(struct vbg_dev *gdev)
return vbg_status_code_to_errno(rc);
}
-
+
+/**
+ * Set guest capabilities on the host.
+ * Must be called with gdev->session_mutex hold.
@@ -87,12 +87,12 @@ index aee5eff229f2..15b3cb618c6e 100644
- /* Ignore allocation failure, we must do session cleanup. */
- }
+ int ret = 0;
-
+
mutex_lock(&gdev->session_mutex);
-
+
@@ -709,23 +736,10 @@ static int vbg_set_session_capabilities(struct vbg_dev *gdev,
goto out;
-
+
vbg_track_bit_usage(&gdev->set_guest_caps_tracker, changed, previous);
- or_mask = gdev->set_guest_caps_tracker.mask;
-
@@ -110,7 +110,7 @@ index aee5eff229f2..15b3cb618c6e 100644
- gdev->guest_caps_host = U32_MAX;
- if (session_termination)
- goto out;
-
+
+ ret = vbg_set_host_capabilities(gdev, session, session_termination);
+ /* Roll back on failure, unless it's session termination time. */
+ if (ret < 0 && !session_termination) {
@@ -118,13 +118,13 @@ index aee5eff229f2..15b3cb618c6e 100644
session->set_guest_caps);
session->set_guest_caps = previous;
@@ -733,7 +747,6 @@ static int vbg_set_session_capabilities(struct vbg_dev *gdev,
-
+
out:
mutex_unlock(&gdev->session_mutex);
- vbg_req_free(req, sizeof(*req));
-
+
return ret;
}
--
-2.26.2
+2.25.4