Upstream VirtualBox has defined and is using a few new request types for
vmmdev requests passed through /dev/vboxguest to the hypervisor.

Add the defines for these to vbox_vmmdev_types.h and add add them to the
whitelists of vmmdev requests which userspace is allowed to make.

BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1789545
Signed-off-by: Hans de Goede <[email protected]>
---
 drivers/virt/vboxguest/vboxguest_core.c | 2 ++
 include/uapi/linux/vbox_vmmdev_types.h  | 3 +++
 2 files changed, 5 insertions(+)

diff --git a/drivers/virt/vboxguest/vboxguest_core.c 
b/drivers/virt/vboxguest/vboxguest_core.c
index 4f1addaa3f6f..ffd76b949276 100644
--- a/drivers/virt/vboxguest/vboxguest_core.c
+++ b/drivers/virt/vboxguest/vboxguest_core.c
@@ -1299,7 +1299,9 @@ static int vbg_req_allowed(struct vbg_dev *gdev, struct 
vbg_session *session,
        case VMMDEVREQ_VIDEO_ACCEL_ENABLE:
        case VMMDEVREQ_VIDEO_ACCEL_FLUSH:
        case VMMDEVREQ_VIDEO_SET_VISIBLE_REGION:
+       case VMMDEVREQ_VIDEO_UPDATE_MONITOR_POSITIONS:
        case VMMDEVREQ_GET_DISPLAY_CHANGE_REQEX:
+       case VMMDEVREQ_GET_DISPLAY_CHANGE_REQ_MULTI:
        case VMMDEVREQ_GET_SEAMLESS_CHANGE_REQ:
        case VMMDEVREQ_GET_VRDPCHANGE_REQ:
        case VMMDEVREQ_LOG_STRING:
diff --git a/include/uapi/linux/vbox_vmmdev_types.h 
b/include/uapi/linux/vbox_vmmdev_types.h
index c27289fd619a..f8a8d6b3c521 100644
--- a/include/uapi/linux/vbox_vmmdev_types.h
+++ b/include/uapi/linux/vbox_vmmdev_types.h
@@ -63,6 +63,7 @@ enum vmmdev_request_type {
        VMMDEVREQ_SET_GUEST_CAPABILITIES       = 56,
        VMMDEVREQ_VIDEMODE_SUPPORTED2          = 57, /* since version 3.2.0 */
        VMMDEVREQ_GET_DISPLAY_CHANGE_REQEX     = 80, /* since version 4.2.4 */
+       VMMDEVREQ_GET_DISPLAY_CHANGE_REQ_MULTI = 81,
        VMMDEVREQ_HGCM_CONNECT                 = 60,
        VMMDEVREQ_HGCM_DISCONNECT              = 61,
        VMMDEVREQ_HGCM_CALL32                  = 62,
@@ -92,6 +93,8 @@ enum vmmdev_request_type {
        VMMDEVREQ_WRITE_COREDUMP               = 218,
        VMMDEVREQ_GUEST_HEARTBEAT              = 219,
        VMMDEVREQ_HEARTBEAT_CONFIGURE          = 220,
+       VMMDEVREQ_NT_BUG_CHECK                 = 221,
+       VMMDEVREQ_VIDEO_UPDATE_MONITOR_POSITIONS = 222,
        /* Ensure the enum is a 32 bit data-type */
        VMMDEVREQ_SIZEHACK                     = 0x7fffffff
 };
-- 
2.26.2

Reply via email to