Linux v5.7.10
Signed-off-by: Justin M. Forbes <jforbes@fedoraproject.org>
This commit is contained in:
parent
02c2fcec70
commit
bd4e2ed2a4
5 changed files with 5 additions and 230 deletions
|
|
@ -1,123 +0,0 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Tue, 19 May 2020 12:21:30 +0200
|
||||
Subject: [PATCH] virt: vbox: Fix VBGL_IOCTL_VMMDEV_REQUEST_BIG and _LOG req
|
||||
numbers to match upstream
|
||||
|
||||
Until this commit 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.
|
||||
|
||||
Since the VirtualBox userspace bits are always built against VirtualBox
|
||||
upstream's headers, this means that so far the mainline kernel version
|
||||
of the vboxguest module has been failing these 2 ioctls with -ENOTTY.
|
||||
I guess that VBGL_IOCTL_VMMDEV_REQUEST_BIG is never used causing us to
|
||||
not hit that one and sofar the vboxguest driver has failed to actually
|
||||
log any log messages passed it through VBGL_IOCTL_LOG.
|
||||
|
||||
This commit changes the VBGL_IOCTL_VMMDEV_REQUEST_BIG and VBGL_IOCTL_LOG
|
||||
defines to match the out of tree VirtualBox upstream vboxguest version,
|
||||
while keeping compatibility with the old wrong request defines so as
|
||||
to not break the kernel ABI in case someone has been using the old
|
||||
request defines.
|
||||
|
||||
Fixes: f6ddd094f579 ("virt: Add vboxguest driver for Virtual Box Guest integration UAPI")
|
||||
Cc: stable@vger.kernel.org
|
||||
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||
Upstream Status: https://lore.kernel.org/lkml/20200520195440.38759-1-hdegoede@redhat.com/
|
||||
---
|
||||
drivers/virt/vboxguest/vboxguest_core.c | 4 +++-
|
||||
drivers/virt/vboxguest/vboxguest_core.h | 15 +++++++++++++++
|
||||
drivers/virt/vboxguest/vboxguest_linux.c | 3 ++-
|
||||
include/uapi/linux/vboxguest.h | 4 ++--
|
||||
4 files changed, 22 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/drivers/virt/vboxguest/vboxguest_core.c b/drivers/virt/vboxguest/vboxguest_core.c
|
||||
index b690a8a4bf9e..8fab04e76c14 100644
|
||||
--- a/drivers/virt/vboxguest/vboxguest_core.c
|
||||
+++ b/drivers/virt/vboxguest/vboxguest_core.c
|
||||
@@ -1520,7 +1520,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)
|
||||
@@ -1558,6 +1559,7 @@ 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):
|
||||
return vbg_ioctl_log(data);
|
||||
}
|
||||
|
||||
diff --git a/drivers/virt/vboxguest/vboxguest_core.h b/drivers/virt/vboxguest/vboxguest_core.h
|
||||
index 4188c12b839f..77c3a9c8255d 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. */
|
||||
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/include/uapi/linux/vboxguest.h b/include/uapi/linux/vboxguest.h
|
||||
index 9cec58a6a5ea..f79d7abe27db 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. */
|
||||
--
|
||||
2.26.2
|
||||
|
||||
|
|
@ -1,47 +0,0 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Tue, 19 May 2020 13:23:06 +0200
|
||||
Subject: [PATCH] virt: vbox: Fix guest capabilities mask check
|
||||
|
||||
Check the passed in capabilities against VMMDEV_GUEST_CAPABILITIES_MASK
|
||||
instead of against VMMDEV_EVENT_VALID_EVENT_MASK.
|
||||
This tightens the allowed mask from 0x7ff to 0x7.
|
||||
|
||||
Fixes: 0ba002bc4393 ("virt: Add vboxguest driver for Virtual Box Guest integration")
|
||||
Cc: stable@vger.kernel.org
|
||||
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||
Upstream Status: https://lore.kernel.org/lkml/20200520195440.38759-1-hdegoede@redhat.com/
|
||||
---
|
||||
drivers/virt/vboxguest/vboxguest_core.c | 2 +-
|
||||
drivers/virt/vboxguest/vmmdev.h | 2 ++
|
||||
2 files changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/virt/vboxguest/vboxguest_core.c b/drivers/virt/vboxguest/vboxguest_core.c
|
||||
index 8fab04e76c14..18ebd7a6af98 100644
|
||||
--- a/drivers/virt/vboxguest/vboxguest_core.c
|
||||
+++ b/drivers/virt/vboxguest/vboxguest_core.c
|
||||
@@ -1444,7 +1444,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,
|
||||
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 {
|
||||
--
|
||||
2.26.2
|
||||
|
||||
|
|
@ -1,53 +0,0 @@
|
|||
From MAILER-DAEMON Mon Jul 20 16:03:05 2020
|
||||
Date: Sat, 18 Jul 2020 00:20:03 -0700
|
||||
From: Kevin Buettner <kevinb@redhat.com>
|
||||
To: Al Viro <viro@zeniv.linux.org.uk>, linux-kernel@vger.kernel.org
|
||||
Subject: [PATCH] copy_xstate_to_kernel: Fix typo which caused GDB regression
|
||||
Message-ID: <20200718002003.6e0a2aef@f32-m1.lan>
|
||||
Sender: linux-kernel-owner@vger.kernel.org
|
||||
List-ID: <linux-kernel.vger.kernel.org>
|
||||
X-Mailing-List: linux-kernel@vger.kernel.org
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
Content-Transfer-Encoding: 7bit
|
||||
|
||||
This commit fixes a regression encountered while running the
|
||||
gdb.base/corefile.exp test in GDB's test suite.
|
||||
|
||||
In my testing, the typo prevented the sw_reserved field of struct
|
||||
fxregs_state from being output to the kernel XSAVES area. Thus the
|
||||
correct mask corresponding to XCR0 was not present in the core file
|
||||
for GDB to interrogate, resulting in the following behavior:
|
||||
|
||||
[kev@f32-1 gdb]$ ./gdb -q testsuite/outputs/gdb.base/corefile/corefile testsuite/outputs/gdb.base/corefile/corefile.core
|
||||
Reading symbols from testsuite/outputs/gdb.base/corefile/corefile...
|
||||
[New LWP 232880]
|
||||
|
||||
warning: Unexpected size of section `.reg-xstate/232880' in core file.
|
||||
|
||||
With the typo fixed, the test works again as expected.
|
||||
|
||||
Signed-off-by: Kevin Buettner <kevinb@redhat.com>
|
||||
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
|
||||
---
|
||||
arch/x86/kernel/fpu/xstate.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/x86/kernel/fpu/xstate.c b/arch/x86/kernel/fpu/xstate.c
|
||||
index 6a54e83d5589..9cf40a7ff7ae 100644
|
||||
--- a/arch/x86/kernel/fpu/xstate.c
|
||||
+++ b/arch/x86/kernel/fpu/xstate.c
|
||||
@@ -1022,7 +1022,7 @@ int copy_xstate_to_kernel(void *kbuf, struct xregs_state *xsave, unsigned int of
|
||||
copy_part(offsetof(struct fxregs_state, st_space), 128,
|
||||
&xsave->i387.st_space, &kbuf, &offset_start, &count);
|
||||
if (header.xfeatures & XFEATURE_MASK_SSE)
|
||||
- copy_part(xstate_offsets[XFEATURE_MASK_SSE], 256,
|
||||
+ copy_part(xstate_offsets[XFEATURE_SSE], 256,
|
||||
&xsave->i387.xmm_space, &kbuf, &offset_start, &count);
|
||||
/*
|
||||
* Fill xsave->i387.sw_reserved value for ptrace frame:
|
||||
--
|
||||
2.26.2
|
||||
|
||||
|
||||
|
||||
10
kernel.spec
10
kernel.spec
|
|
@ -89,7 +89,7 @@ Summary: The Linux kernel
|
|||
%if 0%{?released_kernel}
|
||||
|
||||
# Do we have a -stable update to apply?
|
||||
%define stable_update 9
|
||||
%define stable_update 10
|
||||
# Set rpm version accordingly
|
||||
%if 0%{?stable_update}
|
||||
%define stablerev %{stable_update}
|
||||
|
|
@ -847,8 +847,6 @@ Patch95: 0001-kms-nv50-Probe-SOR-and-PIOR-caps-for-DP-interlacing-.patch
|
|||
Patch96: 0001-kms-gv100-Add-support-for-interlaced-modes.patch
|
||||
Patch97: 0001-kms-nv50-Move-8BPC-limit-for-MST-into-nv50_mstc_get_.patch
|
||||
Patch98: 0001-kms-nv50-Share-DP-SST-mode_valid-handling-with-MST.patch
|
||||
Patch99: 0001-virt-vbox-Fix-VBGL_IOCTL_VMMDEV_REQUEST_BIG-and-_LOG.patch
|
||||
Patch100: 0001-virt-vbox-Fix-guest-capabilities-mask-check.patch
|
||||
Patch101: 0001-virt-vbox-Rename-guest_caps-struct-members-to-set_gu.patch
|
||||
Patch102: 0001-virt-vbox-Add-vbg_set_host_capabilities-helper-funct.patch
|
||||
Patch103: 0001-virt-vbox-Add-support-for-the-new-VBG_IOCTL_ACQUIRE_.patch
|
||||
|
|
@ -883,9 +881,6 @@ Patch124: 0001-PCI-Add-MCFG-quirks-for-Tegra194-host-controllers.patch
|
|||
# Killer wireless headed to stable
|
||||
Patch125: iwlwifi-make-some-killer-wireless-ac-1550-cards-work-again.patch
|
||||
|
||||
# rhbz 1858645
|
||||
Patch126: copy_xstate_to_kernel-fix-typo-which-caused-gdb-regression.patch
|
||||
|
||||
# END OF PATCH DEFINITIONS
|
||||
|
||||
%endif
|
||||
|
|
@ -2924,6 +2919,9 @@ fi
|
|||
#
|
||||
#
|
||||
%changelog
|
||||
* Wed Jul 22 2020 Justin M. Forbes <jforbes@fedoraproject.org> - 5.7.10-100
|
||||
- Linux v5.7.10
|
||||
|
||||
* Mon Jul 20 2020 Justin M. Forbes <jforbes@fedoraproject.org>
|
||||
- Fix GDB regression (rhbz 1858645)
|
||||
|
||||
|
|
|
|||
2
sources
2
sources
|
|
@ -1,2 +1,2 @@
|
|||
SHA512 (linux-5.7.tar.xz) = 45bde01593f6147c8c169b9e46b4b56eee998142552ae0ff82f1dd21b1fd54f3b32f6283f6bd77ea717d374672167849e468c157f235d2f12f7d7816e4623bf6
|
||||
SHA512 (patch-5.7.9.xz) = 30eaa543ee1d371b5d05c7d8268e2e4fb55b5fee8f509070c677776744af47a743a36f655e5244e79d87a45a0ca7aae3eacdc9969e26d6b1d443a42db4bd5588
|
||||
SHA512 (patch-5.7.10.xz) = 700c61fea0e290f94229e1be317bea69f150f5a7b74c8e93fef7a54e0bf3a3f170605b6bbcee98bb65bcbeb1f63a8c79aa0ed51d39b9bb4ead4d12928b73eab1
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue