summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjc_gargma <jc_gargma@iserlohn-fortress.net>2020-07-23 19:50:18 -0700
committerjc_gargma <jc_gargma@iserlohn-fortress.net>2020-07-23 19:50:18 -0700
commitf9b4846c50f48b62cc596ff8a4b06d587ee536cb (patch)
tree1f4fc12ef82e06cddc112e46f7df44f45f76b231
parentUpdated to 5.7.9 (diff)
downloadlinux-f9b4846c50f48b62cc596ff8a4b06d587ee536cb.tar.xz
Updated to 5.7.10
-rw-r--r--0004-virt-vbox-Add-support-for-the-new-VBG_IOCTL_ACQUIRE_.patch116
-rw-r--r--PKGBUILD6
2 files changed, 15 insertions, 107 deletions
diff --git a/0004-virt-vbox-Add-support-for-the-new-VBG_IOCTL_ACQUIRE_.patch b/0004-virt-vbox-Add-support-for-the-new-VBG_IOCTL_ACQUIRE_.patch
index 76c9fad..4fd4ec0 100644
--- a/0004-virt-vbox-Add-support-for-the-new-VBG_IOCTL_ACQUIRE_.patch
+++ b/0004-virt-vbox-Add-support-for-the-new-VBG_IOCTL_ACQUIRE_.patch
@@ -1,4 +1,4 @@
-From 0fe1b29d2826794bfd880944496b433c80da0173 Mon Sep 17 00:00:00 2001
+From d14a96d0a5e05d99c5fe083c49d33197c215dbe1 Mon Sep 17 00:00:00 2001
From: "Jan Alexander Steffens (heftig)" <heftig@archlinux.org>
Date: Wed, 15 Jul 2020 22:42:07 +0200
Subject: virt: vbox: Add support for the new
@@ -135,18 +135,16 @@ Date: Thu Jul 9 14:08:51 2020 +0200
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
- drivers/virt/vboxguest/vboxguest_core.c | 272 +++++++++++++++++++++++++------
- drivers/virt/vboxguest/vboxguest_core.h | 38 ++++-
- drivers/virt/vboxguest/vboxguest_linux.c | 3 +-
+ drivers/virt/vboxguest/vboxguest_core.c | 266 +++++++++++++++++++++++++------
+ drivers/virt/vboxguest/vboxguest_core.h | 23 ++-
drivers/virt/vboxguest/vboxguest_utils.c | 1 +
- drivers/virt/vboxguest/vmmdev.h | 2 +
include/linux/vbox_utils.h | 1 +
include/uapi/linux/vbox_vmmdev_types.h | 3 +
- include/uapi/linux/vboxguest.h | 28 +++-
- 8 files changed, 294 insertions(+), 54 deletions(-)
+ include/uapi/linux/vboxguest.h | 24 +++
+ 6 files changed, 269 insertions(+), 49 deletions(-)
diff --git a/drivers/virt/vboxguest/vboxguest_core.c b/drivers/virt/vboxguest/vboxguest_core.c
-index b690a8a4bf9e..0b43efddea22 100644
+index 18ebd7a6af98..0b43efddea22 100644
--- a/drivers/virt/vboxguest/vboxguest_core.c
+++ b/drivers/virt/vboxguest/vboxguest_core.c
@@ -559,7 +559,7 @@ static int vbg_reset_host_event_filter(struct vbg_dev *gdev,
@@ -488,15 +486,6 @@ index b690a8a4bf9e..0b43efddea22 100644
static int vbg_ioctl_change_guest_capabilities(struct vbg_dev *gdev,
struct vbg_session *session, struct vbg_ioctl_set_guest_caps *caps)
{
-@@ -1444,7 +1618,7 @@ static int vbg_ioctl_change_guest_capabilities(struct vbg_dev *gdev,
- or_mask = caps->u.in.or_mask;
- not_mask = caps->u.in.not_mask;
-
-- if ((or_mask | not_mask) & ~VMMDEV_EVENT_VALID_EVENT_MASK)
-+ if ((or_mask | not_mask) & ~VMMDEV_GUEST_CAPABILITIES_MASK)
- return -EINVAL;
-
- ret = vbg_set_session_capabilities(gdev, session, or_mask, not_mask,
@@ -1452,7 +1626,7 @@ static int vbg_ioctl_change_guest_capabilities(struct vbg_dev *gdev,
if (ret)
return ret;
@@ -506,17 +495,7 @@ index b690a8a4bf9e..0b43efddea22 100644
caps->u.out.global_caps = gdev->guest_caps_host;
return 0;
-@@ -1520,7 +1694,8 @@ int vbg_core_ioctl(struct vbg_session *session, unsigned int req, void *data)
-
- /* For VMMDEV_REQUEST hdr->type != VBG_IOCTL_HDR_TYPE_DEFAULT */
- if (req_no_size == VBG_IOCTL_VMMDEV_REQUEST(0) ||
-- req == VBG_IOCTL_VMMDEV_REQUEST_BIG)
-+ req == VBG_IOCTL_VMMDEV_REQUEST_BIG ||
-+ req == VBG_IOCTL_VMMDEV_REQUEST_BIG_ALT)
- return vbg_ioctl_vmmrequest(gdev, session, data);
-
- if (hdr->type != VBG_IOCTL_HDR_TYPE_DEFAULT)
-@@ -1540,6 +1715,8 @@ int vbg_core_ioctl(struct vbg_session *session, unsigned int req, void *data)
+@@ -1541,6 +1715,8 @@ int vbg_core_ioctl(struct vbg_session *session, unsigned int req, void *data)
return vbg_ioctl_interrupt_all_wait_events(gdev, session, data);
case VBG_IOCTL_CHANGE_FILTER_MASK:
return vbg_ioctl_change_filter_mask(gdev, session, data);
@@ -525,11 +504,7 @@ index b690a8a4bf9e..0b43efddea22 100644
case VBG_IOCTL_CHANGE_GUEST_CAPABILITIES:
return vbg_ioctl_change_guest_capabilities(gdev, session, data);
case VBG_IOCTL_CHECK_BALLOON:
-@@ -1558,10 +1735,11 @@ int vbg_core_ioctl(struct vbg_session *session, unsigned int req, void *data)
- case VBG_IOCTL_HGCM_CALL(0):
- return vbg_ioctl_hgcm_call(gdev, session, f32bit, data);
- case VBG_IOCTL_LOG(0):
-+ case VBG_IOCTL_LOG_ALT(0):
+@@ -1563,7 +1739,7 @@ int vbg_core_ioctl(struct vbg_session *session, unsigned int req, void *data)
return vbg_ioctl_log(data);
}
@@ -539,32 +514,10 @@ index b690a8a4bf9e..0b43efddea22 100644
}
diff --git a/drivers/virt/vboxguest/vboxguest_core.h b/drivers/virt/vboxguest/vboxguest_core.h
-index 4188c12b839f..ab4bf64e2cec 100644
+index 77c3a9c8255d..ab4bf64e2cec 100644
--- a/drivers/virt/vboxguest/vboxguest_core.h
+++ b/drivers/virt/vboxguest/vboxguest_core.h
-@@ -15,6 +15,21 @@
- #include <linux/vboxguest.h>
- #include "vmmdev.h"
-
-+/*
-+ * The mainline kernel version (this version) of the vboxguest module
-+ * contained a bug where it defined VBGL_IOCTL_VMMDEV_REQUEST_BIG and
-+ * VBGL_IOCTL_LOG using _IOC(_IOC_READ | _IOC_WRITE, 'V', ...) instead
-+ * of _IO(V, ...) as the out of tree VirtualBox upstream version does.
-+ *
-+ * These _ALT definitions keep compatibility with the wrong defines the
-+ * mainline kernel version used for a while.
-+ * Note the VirtualBox userspace bits have always been built against
-+ * VirtualBox upstream's headers, so this is likely not necessary. But
-+ * we must never break our ABI so we keep these around to be 100% sure.
-+ */
-+#define VBG_IOCTL_VMMDEV_REQUEST_BIG_ALT _IOC(_IOC_READ | _IOC_WRITE, 'V', 3, 0)
-+#define VBG_IOCTL_LOG_ALT(s) _IOC(_IOC_READ | _IOC_WRITE, 'V', 9, s)
-+
- struct vbg_session;
-
- /** VBox guest memory balloon. */
-@@ -103,11 +118,21 @@ struct vbg_dev {
+@@ -118,11 +118,21 @@ struct vbg_dev {
u32 event_filter_host;
/**
@@ -588,7 +541,7 @@ index 4188c12b839f..ab4bf64e2cec 100644
/**
* The guest capabilities last reported to the host (or UINT32_MAX).
* Protected by session_mutex.
-@@ -149,11 +174,16 @@ struct vbg_session {
+@@ -164,11 +174,16 @@ struct vbg_session {
*/
u32 event_filter;
/**
@@ -607,20 +560,6 @@ index 4188c12b839f..ab4bf64e2cec 100644
/** VMMDEV_REQUESTOR_* flags */
u32 requestor;
/** Set on CANCEL_ALL_WAITEVENTS, protected by vbg_devevent_spinlock. */
-diff --git a/drivers/virt/vboxguest/vboxguest_linux.c b/drivers/virt/vboxguest/vboxguest_linux.c
-index 6e8c0f1c1056..32c2c52f7e84 100644
---- a/drivers/virt/vboxguest/vboxguest_linux.c
-+++ b/drivers/virt/vboxguest/vboxguest_linux.c
-@@ -131,7 +131,8 @@ static long vbg_misc_device_ioctl(struct file *filp, unsigned int req,
- * the need for a bounce-buffer and another copy later on.
- */
- is_vmmdev_req = (req & ~IOCSIZE_MASK) == VBG_IOCTL_VMMDEV_REQUEST(0) ||
-- req == VBG_IOCTL_VMMDEV_REQUEST_BIG;
-+ req == VBG_IOCTL_VMMDEV_REQUEST_BIG ||
-+ req == VBG_IOCTL_VMMDEV_REQUEST_BIG_ALT;
-
- if (is_vmmdev_req)
- buf = vbg_req_alloc(size, VBG_IOCTL_HDR_TYPE_DEFAULT,
diff --git a/drivers/virt/vboxguest/vboxguest_utils.c b/drivers/virt/vboxguest/vboxguest_utils.c
index 7396187ee32a..ea05af41ec69 100644
--- a/drivers/virt/vboxguest/vboxguest_utils.c
@@ -633,19 +572,6 @@ index 7396187ee32a..ea05af41ec69 100644
#if defined(DEBUG) && !defined(CONFIG_DYNAMIC_DEBUG)
VBG_LOG(vbg_debug, pr_debug);
#endif
-diff --git a/drivers/virt/vboxguest/vmmdev.h b/drivers/virt/vboxguest/vmmdev.h
-index 6337b8d75d96..21f408120e3f 100644
---- a/drivers/virt/vboxguest/vmmdev.h
-+++ b/drivers/virt/vboxguest/vmmdev.h
-@@ -206,6 +206,8 @@ VMMDEV_ASSERT_SIZE(vmmdev_mask, 24 + 8);
- * not.
- */
- #define VMMDEV_GUEST_SUPPORTS_GRAPHICS BIT(2)
-+/* The mask of valid capabilities, for sanity checking. */
-+#define VMMDEV_GUEST_CAPABILITIES_MASK 0x00000007U
-
- /** struct vmmdev_hypervisorinfo - Hypervisor info structure. */
- struct vmmdev_hypervisorinfo {
diff --git a/include/linux/vbox_utils.h b/include/linux/vbox_utils.h
index ff56c443180c..db8a7d118093 100644
--- a/include/linux/vbox_utils.h
@@ -680,27 +606,9 @@ index c27289fd619a..f8a8d6b3c521 100644
VMMDEVREQ_SIZEHACK = 0x7fffffff
};
diff --git a/include/uapi/linux/vboxguest.h b/include/uapi/linux/vboxguest.h
-index 9cec58a6a5ea..15125f6ec60d 100644
+index f79d7abe27db..15125f6ec60d 100644
--- a/include/uapi/linux/vboxguest.h
+++ b/include/uapi/linux/vboxguest.h
-@@ -103,7 +103,7 @@ VMMDEV_ASSERT_SIZE(vbg_ioctl_driver_version_info, 24 + 20);
-
-
- /* IOCTL to perform a VMM Device request larger then 1KB. */
--#define VBG_IOCTL_VMMDEV_REQUEST_BIG _IOC(_IOC_READ | _IOC_WRITE, 'V', 3, 0)
-+#define VBG_IOCTL_VMMDEV_REQUEST_BIG _IO('V', 3)
-
-
- /** VBG_IOCTL_HGCM_CONNECT data structure. */
-@@ -198,7 +198,7 @@ struct vbg_ioctl_log {
- } u;
- };
-
--#define VBG_IOCTL_LOG(s) _IOC(_IOC_READ | _IOC_WRITE, 'V', 9, s)
-+#define VBG_IOCTL_LOG(s) _IO('V', 9)
-
-
- /** VBG_IOCTL_WAIT_FOR_EVENTS data structure. */
@@ -257,6 +257,30 @@ VMMDEV_ASSERT_SIZE(vbg_ioctl_change_filter, 24 + 8);
_IOWR('V', 12, struct vbg_ioctl_change_filter)
diff --git a/PKGBUILD b/PKGBUILD
index 469d26a..8691841 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -14,7 +14,7 @@
pkgbase=linux
_supver=5
_majver=7
-_minver=9
+_minver=10
_gccpatchver='20200615'
_gccpatchger='10.1'
_gccpatchker='5.7'
@@ -52,12 +52,12 @@ validpgpkeys=(
'647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman
)
# https://www.kernel.org/pub/linux/kernel/v5.x/sha256sums.asc
-b2sums=('c1a0202ecd9588741e743b3aa631c53cf32b0cade78483b8df0b3dbe8a62f2720e0f6c41fbe6b8e1a561d5ca2f555bca9c9f812013f49788cd7028d182266366'
+b2sums=('5b76a6b99ea0b1e38278db62951147edd2f0dcbc7c28d6fbf955beaa25344c62ee5b4d8c1c80e9e980a44d77b31dfc152b7e1d0fe0e57f5968f25b0d8a6d2dca'
'SKIP'
'ab1fb19c67d4c107f75767581c33d9c1458b4d9fdb88f4adb41d30a36f5a2f95f1c48ef079eb87e1e6e8ce2f98b293195cb2c0f2a8ec975aa817453289158c6e'
'490c7d188215f1d24b5807a744853fa308c2cd17c9eb8668918a50a0c58cab9cbc9ee13ac9abbb614eb010a4a56e9092fea4440d44c80c8e67f2d9abdf19a83f'
'a0f3b060d344746d7cd02b9b8b0f6e13a4367d41aa92ef7db4b6d01d2a0389b63da3e19484ac809952ef6ee13479a54ad205017c9ead72c4ee6738ae04cb7c4b'
- '717a4237c76fcfce5ef17942f00232e333e346ffb0fb01aea6afd8befb56d33b9da1b0df57fa4c50e0d9c102c7d3d5cfedf69ecfa2c3baeadce5ffd87a68138f'
+ '00900ec68ad9ebdf5b9103cb8383ee94b97d2b243cb4458f04f877a1b294817e8a140ce2832d424030d039c48f37eaa5bc5fae7a158da495d78e659b8b3006dc'
'c8d0697f99fe6105815217b8ec059d8f587415ea8dd2b88a65e1087feedf697341a64cd56810fde9e7aeada79125fc8235faccc7e7b06492c099e27a8abbe99c'
'2e58bb89b247b1678355368956e67c1de51fcde97a227b2162f6771e30f17fa5520faafe7be4b6816a542e7ae10d05f64c6b6354f352c12746d4b8da632936dd'
'fde132f3705d908e6f2147c78a2193289916d72304ca5efa2229d79fc3e57a857314ce94e71425caef2f7f7b6cf87f05ef86335dc8bd4be78e7035afe608005a'