mirror of
https://aur.archlinux.org/linux-vfio.git
synced 2024-12-27 07:44:11 +00:00
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
|
# Generated by mksrcinfo v8
|
||||||
# Fri Oct 27 23:55:37 UTC 2017
|
# Fri Nov 10 14:40:11 UTC 2017
|
||||||
pkgbase = linux-vfio
|
pkgbase = linux-vfio
|
||||||
pkgver = 4.13.9
|
pkgver = 4.13.11
|
||||||
pkgrel = 1
|
pkgrel = 1
|
||||||
url = http://www.kernel.org/
|
url = http://www.kernel.org/
|
||||||
arch = i686
|
arch = i686
|
||||||
@ -16,18 +16,17 @@ pkgbase = linux-vfio
|
|||||||
options = !strip
|
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.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/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.11.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.sign
|
||||||
source = config
|
source = config
|
||||||
source = config.x86_64
|
source = config.x86_64
|
||||||
source = 90-linux.hook
|
source = 90-linux.hook
|
||||||
source = linux.preset
|
source = linux.preset
|
||||||
source = add-acs-overrides.patch
|
source = add-acs-overrides.patch
|
||||||
source = i915-vga-arbiter.patch
|
source = i915-vga-arbiter.patch
|
||||||
source = revert-usb-memory-fix.patch
|
|
||||||
sha256sums = 2db3d6066c3ad93eb25b973a3d2951e022a7e975ee2fa7cbe5bddf84d9a49a2c
|
sha256sums = 2db3d6066c3ad93eb25b973a3d2951e022a7e975ee2fa7cbe5bddf84d9a49a2c
|
||||||
sha256sums = SKIP
|
sha256sums = SKIP
|
||||||
sha256sums = 22156e82467c7911d226a0a887eba19103434efc104439a3b426a3fa551fb8f2
|
sha256sums = f5fb017ee531dc35e3462ccb2d244d4fdc8ac6df9cd3337aa6df2ffc280b1bd6
|
||||||
sha256sums = SKIP
|
sha256sums = SKIP
|
||||||
sha256sums = 9b1d9fcb55782e6149aca4dc2d3b250dd4cedf1bf4bd8c6f0968acab0e2e0ee4
|
sha256sums = 9b1d9fcb55782e6149aca4dc2d3b250dd4cedf1bf4bd8c6f0968acab0e2e0ee4
|
||||||
sha256sums = 9c6c4d27d59638d0569ea09a97138bfcfb219f17cdf1138be141380e6654f302
|
sha256sums = 9c6c4d27d59638d0569ea09a97138bfcfb219f17cdf1138be141380e6654f302
|
||||||
@ -35,7 +34,6 @@ pkgbase = linux-vfio
|
|||||||
sha256sums = 99d0102c8065793096b8ea2ccc01c41fa3dcb96855f9f6f2c583b2372208c6f9
|
sha256sums = 99d0102c8065793096b8ea2ccc01c41fa3dcb96855f9f6f2c583b2372208c6f9
|
||||||
sha256sums = 05467ff4108e13c8a1fed9e2cc5b4e7b50c83e97e39b82d5478ea89b4af475ea
|
sha256sums = 05467ff4108e13c8a1fed9e2cc5b4e7b50c83e97e39b82d5478ea89b4af475ea
|
||||||
sha256sums = 19fd3b81b4b081ceb100c89fb6bab012a8d708da6ca8cee53d771abca4770236
|
sha256sums = 19fd3b81b4b081ceb100c89fb6bab012a8d708da6ca8cee53d771abca4770236
|
||||||
sha256sums = 20acfd8fc32fe7c53342d345aa969bc448a0d9022ebbfdf82a06e2d2e22ebfb9
|
|
||||||
|
|
||||||
pkgname = linux-vfio
|
pkgname = linux-vfio
|
||||||
pkgdesc = The Linux kernel and modules with patches to enable GPU passthrough with KVM
|
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
|
pkgbase=linux-vfio
|
||||||
_srcname=linux-4.13
|
_srcname=linux-4.13
|
||||||
pkgver=4.13.9
|
pkgver=4.13.11
|
||||||
pkgrel=1
|
pkgrel=1
|
||||||
arch=('i686' 'x86_64')
|
arch=('i686' 'x86_64')
|
||||||
url="http://www.kernel.org/"
|
url="http://www.kernel.org/"
|
||||||
@ -22,19 +22,17 @@ source=("https://www.kernel.org/pub/linux/kernel/v4.x/${_srcname}.tar.xz"
|
|||||||
'linux.preset'
|
'linux.preset'
|
||||||
# patches for pci passthrough
|
# patches for pci passthrough
|
||||||
'add-acs-overrides.patch'
|
'add-acs-overrides.patch'
|
||||||
'i915-vga-arbiter.patch'
|
'i915-vga-arbiter.patch')
|
||||||
'revert-usb-memory-fix.patch')
|
|
||||||
sha256sums=('2db3d6066c3ad93eb25b973a3d2951e022a7e975ee2fa7cbe5bddf84d9a49a2c'
|
sha256sums=('2db3d6066c3ad93eb25b973a3d2951e022a7e975ee2fa7cbe5bddf84d9a49a2c'
|
||||||
'SKIP'
|
'SKIP'
|
||||||
'22156e82467c7911d226a0a887eba19103434efc104439a3b426a3fa551fb8f2'
|
'f5fb017ee531dc35e3462ccb2d244d4fdc8ac6df9cd3337aa6df2ffc280b1bd6'
|
||||||
'SKIP'
|
'SKIP'
|
||||||
'9b1d9fcb55782e6149aca4dc2d3b250dd4cedf1bf4bd8c6f0968acab0e2e0ee4'
|
'9b1d9fcb55782e6149aca4dc2d3b250dd4cedf1bf4bd8c6f0968acab0e2e0ee4'
|
||||||
'9c6c4d27d59638d0569ea09a97138bfcfb219f17cdf1138be141380e6654f302'
|
'9c6c4d27d59638d0569ea09a97138bfcfb219f17cdf1138be141380e6654f302'
|
||||||
'8f407ad5ff6eff106562ba001c36a281134ac9aa468a596aea660a4fe1fd60b5'
|
'8f407ad5ff6eff106562ba001c36a281134ac9aa468a596aea660a4fe1fd60b5'
|
||||||
'99d0102c8065793096b8ea2ccc01c41fa3dcb96855f9f6f2c583b2372208c6f9'
|
'99d0102c8065793096b8ea2ccc01c41fa3dcb96855f9f6f2c583b2372208c6f9'
|
||||||
'05467ff4108e13c8a1fed9e2cc5b4e7b50c83e97e39b82d5478ea89b4af475ea'
|
'05467ff4108e13c8a1fed9e2cc5b4e7b50c83e97e39b82d5478ea89b4af475ea'
|
||||||
'19fd3b81b4b081ceb100c89fb6bab012a8d708da6ca8cee53d771abca4770236'
|
'19fd3b81b4b081ceb100c89fb6bab012a8d708da6ca8cee53d771abca4770236')
|
||||||
'20acfd8fc32fe7c53342d345aa969bc448a0d9022ebbfdf82a06e2d2e22ebfb9')
|
|
||||||
validpgpkeys=(
|
validpgpkeys=(
|
||||||
'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds
|
'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds
|
||||||
'647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman
|
'647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman
|
||||||
@ -65,8 +63,6 @@ prepare() {
|
|||||||
echo '==> Applying ACS override patch'
|
echo '==> Applying ACS override patch'
|
||||||
patch -p1 -i "${srcdir}/add-acs-overrides.patch"
|
patch -p1 -i "${srcdir}/add-acs-overrides.patch"
|
||||||
|
|
||||||
patch -p1 -i "${srcdir}/revert-usb-memory-fix.patch"
|
|
||||||
|
|
||||||
if [ "${_kernelname}" != "" ]; then
|
if [ "${_kernelname}" != "" ]; then
|
||||||
sed -i "s|CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION=\"${_kernelname}\"|g" ./.config
|
sed -i "s|CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION=\"${_kernelname}\"|g" ./.config
|
||||||
sed -i "s|CONFIG_LOCALVERSION_AUTO=.*|CONFIG_LOCALVERSION_AUTO=n|" ./.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