forked from AUR/linux-vfio
Update to 4.13.11-1
This commit is contained in:
parent
84e2ae3fa1
commit
55b8627008
12
.SRCINFO
12
.SRCINFO
@ -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
|
||||
|
12
PKGBUILD
12
PKGBUILD
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user