From 4842487b5cefc43c3a96372383a4f204f4701daf Mon Sep 17 00:00:00 2001 From: "Justin M. Forbes" Date: Wed, 22 Jul 2020 08:05:12 -0500 Subject: Linux v5.7.10 Signed-off-by: Justin M. Forbes --- ...ix-VBGL_IOCTL_VMMDEV_REQUEST_BIG-and-_LOG.patch | 123 --------------------- ...rt-vbox-Fix-guest-capabilities-mask-check.patch | 47 -------- ...rnel-fix-typo-which-caused-gdb-regression.patch | 53 --------- kernel.spec | 10 +- sources | 2 +- 5 files changed, 5 insertions(+), 230 deletions(-) delete mode 100644 0001-virt-vbox-Fix-VBGL_IOCTL_VMMDEV_REQUEST_BIG-and-_LOG.patch delete mode 100644 0001-virt-vbox-Fix-guest-capabilities-mask-check.patch delete mode 100644 copy_xstate_to_kernel-fix-typo-which-caused-gdb-regression.patch diff --git a/0001-virt-vbox-Fix-VBGL_IOCTL_VMMDEV_REQUEST_BIG-and-_LOG.patch b/0001-virt-vbox-Fix-VBGL_IOCTL_VMMDEV_REQUEST_BIG-and-_LOG.patch deleted file mode 100644 index daf372ec2..000000000 --- a/0001-virt-vbox-Fix-VBGL_IOCTL_VMMDEV_REQUEST_BIG-and-_LOG.patch +++ /dev/null @@ -1,123 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Hans de Goede -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 -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 - #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 - diff --git a/0001-virt-vbox-Fix-guest-capabilities-mask-check.patch b/0001-virt-vbox-Fix-guest-capabilities-mask-check.patch deleted file mode 100644 index 77dbde8f5..000000000 --- a/0001-virt-vbox-Fix-guest-capabilities-mask-check.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Hans de Goede -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 -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 - diff --git a/copy_xstate_to_kernel-fix-typo-which-caused-gdb-regression.patch b/copy_xstate_to_kernel-fix-typo-which-caused-gdb-regression.patch deleted file mode 100644 index bde54072a..000000000 --- a/copy_xstate_to_kernel-fix-typo-which-caused-gdb-regression.patch +++ /dev/null @@ -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 -To: Al Viro , 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: -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 -Signed-off-by: Al Viro ---- - 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 - - - diff --git a/kernel.spec b/kernel.spec index 5f07c96ad..f448d288b 100644 --- a/kernel.spec +++ b/kernel.spec @@ -92,7 +92,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} @@ -852,8 +852,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 @@ -888,9 +886,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 @@ -2995,6 +2990,9 @@ fi # # %changelog +* Wed Jul 22 2020 Justin M. Forbes - 5.7.10-200 +- Linux v5.7.10 + * Mon Jul 20 2020 Justin M. Forbes - Fix GDB regression (rhbz 1858645) diff --git a/sources b/sources index 695f098d8..55aacda79 100644 --- a/sources +++ b/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 -- cgit