Update to 4.13.11-1

This commit is contained in:
Mark Weiman 2017-11-10 13:20:14 -05:00
parent 84e2ae3fa1
commit 55b8627008
3 changed files with 9 additions and 84 deletions

View File

@ -1,7 +1,7 @@
# Generated by mksrcinfo v8
# Fri Oct 27 23:55:37 UTC 2017
# Fri Nov 10 14:40:11 UTC 2017
pkgbase = linux-vfio
pkgver = 4.13.9
pkgver = 4.13.11
pkgrel = 1
url = http://www.kernel.org/
arch = i686
@ -16,18 +16,17 @@ pkgbase = linux-vfio
options = !strip
source = https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.13.tar.xz
source = https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.13.tar.sign
source = https://www.kernel.org/pub/linux/kernel/v4.x/patch-4.13.9.xz
source = https://www.kernel.org/pub/linux/kernel/v4.x/patch-4.13.9.sign
source = https://www.kernel.org/pub/linux/kernel/v4.x/patch-4.13.11.xz
source = https://www.kernel.org/pub/linux/kernel/v4.x/patch-4.13.11.sign
source = config
source = config.x86_64
source = 90-linux.hook
source = linux.preset
source = add-acs-overrides.patch
source = i915-vga-arbiter.patch
source = revert-usb-memory-fix.patch
sha256sums = 2db3d6066c3ad93eb25b973a3d2951e022a7e975ee2fa7cbe5bddf84d9a49a2c
sha256sums = SKIP
sha256sums = 22156e82467c7911d226a0a887eba19103434efc104439a3b426a3fa551fb8f2
sha256sums = f5fb017ee531dc35e3462ccb2d244d4fdc8ac6df9cd3337aa6df2ffc280b1bd6
sha256sums = SKIP
sha256sums = 9b1d9fcb55782e6149aca4dc2d3b250dd4cedf1bf4bd8c6f0968acab0e2e0ee4
sha256sums = 9c6c4d27d59638d0569ea09a97138bfcfb219f17cdf1138be141380e6654f302
@ -35,7 +34,6 @@ pkgbase = linux-vfio
sha256sums = 99d0102c8065793096b8ea2ccc01c41fa3dcb96855f9f6f2c583b2372208c6f9
sha256sums = 05467ff4108e13c8a1fed9e2cc5b4e7b50c83e97e39b82d5478ea89b4af475ea
sha256sums = 19fd3b81b4b081ceb100c89fb6bab012a8d708da6ca8cee53d771abca4770236
sha256sums = 20acfd8fc32fe7c53342d345aa969bc448a0d9022ebbfdf82a06e2d2e22ebfb9
pkgname = linux-vfio
pkgdesc = The Linux kernel and modules with patches to enable GPU passthrough with KVM

View File

@ -3,7 +3,7 @@
pkgbase=linux-vfio
_srcname=linux-4.13
pkgver=4.13.9
pkgver=4.13.11
pkgrel=1
arch=('i686' 'x86_64')
url="http://www.kernel.org/"
@ -22,19 +22,17 @@ source=("https://www.kernel.org/pub/linux/kernel/v4.x/${_srcname}.tar.xz"
'linux.preset'
# patches for pci passthrough
'add-acs-overrides.patch'
'i915-vga-arbiter.patch'
'revert-usb-memory-fix.patch')
'i915-vga-arbiter.patch')
sha256sums=('2db3d6066c3ad93eb25b973a3d2951e022a7e975ee2fa7cbe5bddf84d9a49a2c'
'SKIP'
'22156e82467c7911d226a0a887eba19103434efc104439a3b426a3fa551fb8f2'
'f5fb017ee531dc35e3462ccb2d244d4fdc8ac6df9cd3337aa6df2ffc280b1bd6'
'SKIP'
'9b1d9fcb55782e6149aca4dc2d3b250dd4cedf1bf4bd8c6f0968acab0e2e0ee4'
'9c6c4d27d59638d0569ea09a97138bfcfb219f17cdf1138be141380e6654f302'
'8f407ad5ff6eff106562ba001c36a281134ac9aa468a596aea660a4fe1fd60b5'
'99d0102c8065793096b8ea2ccc01c41fa3dcb96855f9f6f2c583b2372208c6f9'
'05467ff4108e13c8a1fed9e2cc5b4e7b50c83e97e39b82d5478ea89b4af475ea'
'19fd3b81b4b081ceb100c89fb6bab012a8d708da6ca8cee53d771abca4770236'
'20acfd8fc32fe7c53342d345aa969bc448a0d9022ebbfdf82a06e2d2e22ebfb9')
'19fd3b81b4b081ceb100c89fb6bab012a8d708da6ca8cee53d771abca4770236')
validpgpkeys=(
'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds
'647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman
@ -65,8 +63,6 @@ prepare() {
echo '==> Applying ACS override patch'
patch -p1 -i "${srcdir}/add-acs-overrides.patch"
patch -p1 -i "${srcdir}/revert-usb-memory-fix.patch"
if [ "${_kernelname}" != "" ]; then
sed -i "s|CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION=\"${_kernelname}\"|g" ./.config
sed -i "s|CONFIG_LOCALVERSION_AUTO=.*|CONFIG_LOCALVERSION_AUTO=n|" ./.config

View File

@ -1,69 +0,0 @@
From a9fdf6354267d92b57bfb96fbcccbe5d5c163d8e Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede@redhat.com>
Date: Mon, 16 Oct 2017 16:21:19 +0200
Subject: USB: devio: Revert "USB: devio: Don't corrupt user memory"
commit 845d584f41eac3475c21e4a7d5e88d0f6e410cf7 upstream.
Taking the uurb->buffer_length userspace passes in as a maximum for the
actual urbs transfer_buffer_length causes 2 serious issues:
1) It breaks isochronous support for all userspace apps using libusb,
as existing libusb versions pass in 0 for uurb->buffer_length,
relying on the kernel using the lenghts of the usbdevfs_iso_packet_desc
descriptors passed in added together as buffer length.
This for example causes redirection of USB audio and Webcam's into
virtual machines using qemu-kvm to no longer work. This is a userspace
ABI break and as such must be reverted.
Note that the original commit does not protect other users / the
kernels memory, it only stops the userspace process making the call
from shooting itself in the foot.
2) It may cause the kernel to program host controllers to DMA over random
memory. Just as the devio code used to only look at the iso_packet_desc
lenghts, the host drivers do the same, relying on the submitter of the
urbs to make sure the entire buffer is large enough and not checking
transfer_buffer_length.
But the "USB: devio: Don't corrupt user memory" commit now takes the
userspace provided uurb->buffer_length for the buffer-size while copying
over the user-provided iso_packet_desc lengths 1:1, allowing the user
to specify a small buffer size while programming the host controller to
dma a lot more data.
(Atleast the ohci, uhci, xhci and fhci drivers do not check
transfer_buffer_length for isoc transfers.)
This reverts commit fa1ed74eb1c2 ("USB: devio: Don't corrupt user memory")
fixing both these issues.
Cc: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/usb/core/devio.c | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/drivers/usb/core/devio.c b/drivers/usb/core/devio.c
index 1d4dfde..066b58c 100644
--- a/drivers/usb/core/devio.c
+++ b/drivers/usb/core/devio.c
@@ -1576,11 +1576,7 @@ static int proc_do_submiturb(struct usb_dev_state *ps, struct usbdevfs_urb *uurb
totlen += isopkt[u].length;
}
u *= sizeof(struct usb_iso_packet_descriptor);
- if (totlen <= uurb->buffer_length)
- uurb->buffer_length = totlen;
- else
- WARN_ONCE(1, "uurb->buffer_length is too short %d vs %d",
- totlen, uurb->buffer_length);
+ uurb->buffer_length = totlen;
break;
default:
--
cgit v1.1