virt: vbox: Add a few new vmmdev request types to the userspace whitelist
authorHans de Goede <hdegoede@redhat.com>
Thu, 9 Jul 2020 12:08:56 +0000 (14:08 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 10 Jul 2020 11:45:32 +0000 (13:45 +0200)
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
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20200709120858.63928-7-hdegoede@redhat.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/virt/vboxguest/vboxguest_core.c
include/uapi/linux/vbox_vmmdev_types.h

index 4f1addaa3f6fc2379e8579cd15f6e0d7de57f6f0..ffd76b949276944188d3e0c855f92071ed304257 100644 (file)
@@ -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:
index c27289fd619a4114dc39261ddaad8b774c847795..f8a8d6b3c5219d1399dc28d40e0af0fbb4be8d60 100644 (file)
@@ -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
 };