[arch-commits] Commit in linux-lts/trunk (2 files)

Jan Steffens heftig at archlinux.org
Wed Jul 22 20:52:29 UTC 2020


    Date: Wednesday, July 22, 2020 @ 20:52:28
  Author: heftig
Revision: 392391

5.4.53-1

Modified:
  linux-lts/trunk/0002-virt-vbox-Add-support-for-the-new-VBG_IOCTL_ACQUIRE_.patch
  linux-lts/trunk/PKGBUILD

-----------------------------------------------------------------+
 0002-virt-vbox-Add-support-for-the-new-VBG_IOCTL_ACQUIRE_.patch |  116 +---------
 PKGBUILD                                                        |    6 
 2 files changed, 15 insertions(+), 107 deletions(-)

Modified: 0002-virt-vbox-Add-support-for-the-new-VBG_IOCTL_ACQUIRE_.patch
===================================================================
--- 0002-virt-vbox-Add-support-for-the-new-VBG_IOCTL_ACQUIRE_.patch	2020-07-22 20:52:26 UTC (rev 392390)
+++ 0002-virt-vbox-Add-support-for-the-new-VBG_IOCTL_ACQUIRE_.patch	2020-07-22 20:52:28 UTC (rev 392391)
@@ -135,18 +135,16 @@
     Reviewed-by: Arnd Bergmann <arnd at arndb.de>
     Signed-off-by: Hans de Goede <hdegoede at 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 2307b0329aec..f449fc366cf3 100644
+index 95bfdb8ac8a2..f449fc366cf3 100644
 --- a/drivers/virt/vboxguest/vboxguest_core.c
 +++ b/drivers/virt/vboxguest/vboxguest_core.c
 @@ -558,7 +558,7 @@ static int vbg_reset_host_event_filter(struct vbg_dev *gdev,
@@ -516,8 +514,7 @@
  	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)
+ 	if ((or_mask | not_mask) & ~VMMDEV_GUEST_CAPABILITIES_MASK)
  		return -EINVAL;
  
  	ret = vbg_set_session_capabilities(gdev, session, or_mask, not_mask,
@@ -530,29 +527,7 @@
  	caps->u.out.global_caps = gdev->guest_caps_host;
  
  	return 0;
-@@ -1519,48 +1693,52 @@ 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)
- 		return -EINVAL;
- 
- 	/* Fixed size requests. */
- 	switch (req) {
- 	case VBG_IOCTL_DRIVER_VERSION_INFO:
- 		return vbg_ioctl_driver_version_info(data);
- 	case VBG_IOCTL_HGCM_CONNECT:
- 		return vbg_ioctl_hgcm_connect(gdev, session, data);
- 	case VBG_IOCTL_HGCM_DISCONNECT:
- 		return vbg_ioctl_hgcm_disconnect(gdev, session, data);
- 	case VBG_IOCTL_WAIT_FOR_EVENTS:
- 		return vbg_ioctl_wait_for_events(gdev, session, data);
- 	case VBG_IOCTL_INTERRUPT_ALL_WAIT_FOR_EVENTS:
+@@ -1540,29 +1714,31 @@ 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);
@@ -576,7 +551,7 @@
  	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):
+ 	case VBG_IOCTL_LOG_ALT(0):
  		return vbg_ioctl_log(data);
  	}
  
@@ -586,32 +561,10 @@
  }
  
 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;
  
  	/**
@@ -635,7 +588,7 @@
  	/**
  	 * 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;
  	/**
@@ -654,20 +607,6 @@
  	/** 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 43c391626a00..b6fd06eb015e 100644
 --- a/drivers/virt/vboxguest/vboxguest_utils.c
@@ -680,19 +619,6 @@
  #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
@@ -727,27 +653,9 @@
  	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)
  

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2020-07-22 20:52:26 UTC (rev 392390)
+++ PKGBUILD	2020-07-22 20:52:28 UTC (rev 392391)
@@ -1,7 +1,7 @@
 # Maintainer: Andreas Radke <andyrtr at archlinux.org>
 
 pkgbase=linux-lts
-pkgver=5.4.52
+pkgver=5.4.53
 pkgrel=1
 pkgdesc='LTS Linux'
 url="https://www.kernel.org/"
@@ -25,11 +25,11 @@
   '647F28654894E3BD457199BE38DBBDC86092693E'  # Greg Kroah-Hartman
 )
 # https://www.kernel.org/pub/linux/kernel/v5.x/sha256sums.asc
-sha256sums=('037efa531120b1c20ff55e78cd3e17288b1804b3a57dc31de760837b3bea5d3a'
+sha256sums=('faa7b6f99220d5726f0eaee74a6394f0a3b89be1a75254f3804630211f3d6d21'
             'SKIP'
             'd20936f94b29f3e86513108ab772ef4778a8cb95ec7cd44519523a6eea40aa5d'
             '93de5436e4d62abd7d3f2f9de0008aa647e67cba5a54fea0641ddcf4f6d85e97'
-            '4bcd0abe1d5eadabbeff8aa0370a1d050f7a147756f5571845fd76e3f2aece6d'
+            'd529b1d0d11ddac7f47ddacc0537f233dc7c6d08f7d6ba5bf1c2c20be74e1f70'
             'b7c814c8183e4645947a6dcc3cbf80431de8a8fd4e895b780f9a5fd92f82cb8e')
 
 export KBUILD_BUILD_HOST=archlinux



More information about the arch-commits mailing list