diff --git a/.SRCINFO b/.SRCINFO index d49118b..f2a786e 100644 --- a/.SRCINFO +++ b/.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 diff --git a/PKGBUILD b/PKGBUILD index 40b1ba9..46f48a0 100644 --- a/PKGBUILD +++ b/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 diff --git a/revert-usb-memory-fix.patch b/revert-usb-memory-fix.patch deleted file mode 100644 index 120ebc3..0000000 --- a/revert-usb-memory-fix.patch +++ /dev/null @@ -1,69 +0,0 @@ -From a9fdf6354267d92b57bfb96fbcccbe5d5c163d8e Mon Sep 17 00:00:00 2001 -From: Hans de Goede -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 -Signed-off-by: Hans de Goede -Acked-by: Alan Stern -Signed-off-by: Greg Kroah-Hartman ---- - 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 -