summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorPiotr Gorski2018-05-17 13:17:25 +0200
committerPiotr Gorski2018-05-17 13:17:25 +0200
commit9dc4b83552040d812bb2d4e8847af1f54e69e412 (patch)
tree000dbbce02c0fffcc019251be0d32811edb2063b
parentfbc94283142fe63c2d2cbba64f0eeacf6d2b9d64 (diff)
downloadaur-9dc4b83552040d812bb2d4e8847af1f54e69e412.tar.gz
Sync with -ARCH
Signed-off-by: Piotr Gorski <lucjan.lucjanov@gmail.com>
-rw-r--r--.SRCINFO10
-rw-r--r--0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch6
-rw-r--r--0002-drm-i915-edp-Only-use-the-alternate-fixed-mode-if-it.patch12
-rw-r--r--0003-Partially-revert-swiotlb-remove-various-exports.patch12
-rw-r--r--0004-xhci-Fix-USB3-NULL-pointer-dereference-at-logical-di.patch63
-rw-r--r--PKGBUILD16
6 files changed, 95 insertions, 24 deletions
diff --git a/.SRCINFO b/.SRCINFO
index dc2a0d087404..482ee7caf951 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = linux-rt-bfq
pkgver = 4.16.8.2
- pkgrel = 1
+ pkgrel = 2
url = https://github.com/Algodev-github/bfq-mq/
arch = x86_64
license = GPL2
@@ -29,6 +29,7 @@ pkgbase = linux-rt-bfq
source = 0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch
source = 0002-drm-i915-edp-Only-use-the-alternate-fixed-mode-if-it.patch
source = 0003-Partially-revert-swiotlb-remove-various-exports.patch
+ source = 0004-xhci-Fix-USB3-NULL-pointer-dereference-at-logical-di.patch
validpgpkeys = ABAF11C65A2970B130ABE3C479BE3E4300411886
validpgpkeys = 647F28654894E3BD457199BE38DBBDC86092693E
validpgpkeys = 64254695FFF0AA4466CC19E67B96E8162A8CF5D1
@@ -51,9 +52,10 @@ pkgbase = linux-rt-bfq
sha512sums = 4a8b324aee4cccf3a512ad04ce1a272d14e5b05c8de90feb82075f55ea3845948d817e1b0c6f298f5816834ddd3e5ce0a0e2619866289f3c1ab8fd2f35f04f44
sha512sums = 6346b66f54652256571ef65da8e46db49a95ac5978ecd57a507c6b2a28aee70bb3ff87045ac493f54257c9965da1046a28b72cb5abb0087204d257f14b91fd74
sha512sums = 2dc6b0ba8f7dbf19d2446c5c5f1823587de89f4e28e9595937dd51a87755099656f2acec50e3e2546ea633ad1bfd1c722e0c2b91eef1d609103d8abdc0a7cbaf
- sha512sums = 3c4b172d3a67897757706ecb4f98f8ded83223379332812ef633b3185e7b686509f40b1cae237f23bfc59a6e3cbcb8b8ebd68d1ba02549d525b97c63376cce6a
- sha512sums = 213c4223a25ea444857a9a289a454abd91d26b3da349b70d1ec9ccd2443cb2223815819e48c9efd3685c38df1445df532cf149af7d9326dc635ccd32ad135ecc
- sha512sums = cb69ad1a79df45f1c2af8bacb58fb760651bd92154cf1fc495d4032a88e575e2eb4f2fc3a299ca000e87c51338c67cfcf2933a346d23130c215cd404524304dc
+ sha512sums = d4a5dadbdbbb8a2c2c3b4b5e77ea19664e0742825648d10635ce3b7642f01d71d51fd8ed58dcfd686981ef9c3f83965746686231b9bac1974809be1618e60373
+ sha512sums = 071c38539db9660e743cca5514a5b2c10e79716c59435976f7cd18bd77254b39e1cdba6386ac6938c00c7585e1834508f85bc65f4d2af28246dae864b71b06b3
+ sha512sums = 6c4bf0d5230e7a3e895f88cf6cc84d6df550fefa2c865e4d5853e02682e781c5a149fb4f853ac7513f335271415fae4a4edf13139de4ba067102e9d8083c22a0
+ sha512sums = f5a6e9e6244ed2bb336f359a65ba922226f76319c216eae3c1acca137084ab0c89372d8ec2299d0377ad909534a5d13d8db9a9376e357d600518c81811256d07
pkgname = linux-rt-bfq
pkgdesc = Linux Kernel and modules with the RT patch and the BFQ scheduler.
diff --git a/0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch b/0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch
index d365a2cd9e47..9f834791260f 100644
--- a/0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch
+++ b/0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch
@@ -1,8 +1,8 @@
-From 3a7745f6fdd71aa34dae33c3edc586363d9ece9e Mon Sep 17 00:00:00 2001
-Message-Id: <3a7745f6fdd71aa34dae33c3edc586363d9ece9e.1523790169.git.jan.steffens@gmail.com>
+From 1d8e17daf031e219d904ef93718081534c9e8cea Mon Sep 17 00:00:00 2001
+Message-Id: <1d8e17daf031e219d904ef93718081534c9e8cea.1526520263.git.jan.steffens@gmail.com>
From: Serge Hallyn <serge.hallyn@canonical.com>
Date: Fri, 31 May 2013 19:12:12 +0100
-Subject: [PATCH 1/3] add sysctl to disallow unprivileged CLONE_NEWUSER by
+Subject: [PATCH 1/4] add sysctl to disallow unprivileged CLONE_NEWUSER by
default
Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
diff --git a/0002-drm-i915-edp-Only-use-the-alternate-fixed-mode-if-it.patch b/0002-drm-i915-edp-Only-use-the-alternate-fixed-mode-if-it.patch
index 9de06fe15da3..e33c05ae5b15 100644
--- a/0002-drm-i915-edp-Only-use-the-alternate-fixed-mode-if-it.patch
+++ b/0002-drm-i915-edp-Only-use-the-alternate-fixed-mode-if-it.patch
@@ -1,10 +1,10 @@
-From 1ab88f114ddb0f614118c330196af3024f88630c Mon Sep 17 00:00:00 2001
-Message-Id: <1ab88f114ddb0f614118c330196af3024f88630c.1523790169.git.jan.steffens@gmail.com>
-In-Reply-To: <3a7745f6fdd71aa34dae33c3edc586363d9ece9e.1523790169.git.jan.steffens@gmail.com>
-References: <3a7745f6fdd71aa34dae33c3edc586363d9ece9e.1523790169.git.jan.steffens@gmail.com>
+From 97ed8f58f1e019eca30233ffc6a14e6eddac1a36 Mon Sep 17 00:00:00 2001
+Message-Id: <97ed8f58f1e019eca30233ffc6a14e6eddac1a36.1526520264.git.jan.steffens@gmail.com>
+In-Reply-To: <1d8e17daf031e219d904ef93718081534c9e8cea.1526520263.git.jan.steffens@gmail.com>
+References: <1d8e17daf031e219d904ef93718081534c9e8cea.1526520263.git.jan.steffens@gmail.com>
From: Jim Bride <jim.bride@linux.intel.com>
Date: Mon, 6 Nov 2017 13:38:57 -0800
-Subject: [PATCH 2/3] drm/i915/edp: Only use the alternate fixed mode if it's
+Subject: [PATCH 2/4] drm/i915/edp: Only use the alternate fixed mode if it's
asked for
In commit dc911f5bd8aa ("drm/i915/edp: Allow alternate fixed mode for
@@ -24,7 +24,7 @@ Signed-off-by: Jim Bride <jim.bride@linux.intel.com>
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
-index a29868cd30c7..b6d07b615b12 100644
+index 79521da5d11d..837cbaa55a2b 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -1597,7 +1597,8 @@ static bool intel_edp_compare_alt_mode(struct drm_display_mode *m1,
diff --git a/0003-Partially-revert-swiotlb-remove-various-exports.patch b/0003-Partially-revert-swiotlb-remove-various-exports.patch
index b1d38dd051ea..de1bdde951b0 100644
--- a/0003-Partially-revert-swiotlb-remove-various-exports.patch
+++ b/0003-Partially-revert-swiotlb-remove-various-exports.patch
@@ -1,10 +1,10 @@
-From d1bc4bfbbc01a62a8b70f4018273d49b502c1511 Mon Sep 17 00:00:00 2001
-Message-Id: <d1bc4bfbbc01a62a8b70f4018273d49b502c1511.1523790169.git.jan.steffens@gmail.com>
-In-Reply-To: <3a7745f6fdd71aa34dae33c3edc586363d9ece9e.1523790169.git.jan.steffens@gmail.com>
-References: <3a7745f6fdd71aa34dae33c3edc586363d9ece9e.1523790169.git.jan.steffens@gmail.com>
+From a4a45daaacca4c48f4f3840a42cf1c8f385c0e82 Mon Sep 17 00:00:00 2001
+Message-Id: <a4a45daaacca4c48f4f3840a42cf1c8f385c0e82.1526520264.git.jan.steffens@gmail.com>
+In-Reply-To: <1d8e17daf031e219d904ef93718081534c9e8cea.1526520263.git.jan.steffens@gmail.com>
+References: <1d8e17daf031e219d904ef93718081534c9e8cea.1526520263.git.jan.steffens@gmail.com>
From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
Date: Fri, 6 Apr 2018 16:19:38 +0200
-Subject: [PATCH 3/3] Partially revert "swiotlb: remove various exports"
+Subject: [PATCH 3/4] Partially revert "swiotlb: remove various exports"
This partially reverts commit 4bd89ed39b2ab8dc4ac4b6c59b07d420b0213bec.
The proprietary NVIDIA driver needs one of the exports.
@@ -13,7 +13,7 @@ The proprietary NVIDIA driver needs one of the exports.
1 file changed, 1 insertion(+)
diff --git a/lib/swiotlb.c b/lib/swiotlb.c
-index c43ec2271469..77d699f14af7 100644
+index dc81f16b9095..1c0a8699f8b9 100644
--- a/lib/swiotlb.c
+++ b/lib/swiotlb.c
@@ -1016,6 +1016,7 @@ swiotlb_map_sg_attrs(struct device *hwdev, struct scatterlist *sgl, int nelems,
diff --git a/0004-xhci-Fix-USB3-NULL-pointer-dereference-at-logical-di.patch b/0004-xhci-Fix-USB3-NULL-pointer-dereference-at-logical-di.patch
new file mode 100644
index 000000000000..009251cb3e6e
--- /dev/null
+++ b/0004-xhci-Fix-USB3-NULL-pointer-dereference-at-logical-di.patch
@@ -0,0 +1,63 @@
+From 005c2f4576d9bab5ff97dac4b3d27aafa2f1f153 Mon Sep 17 00:00:00 2001
+Message-Id: <005c2f4576d9bab5ff97dac4b3d27aafa2f1f153.1526520264.git.jan.steffens@gmail.com>
+In-Reply-To: <1d8e17daf031e219d904ef93718081534c9e8cea.1526520263.git.jan.steffens@gmail.com>
+References: <1d8e17daf031e219d904ef93718081534c9e8cea.1526520263.git.jan.steffens@gmail.com>
+From: Mathias Nyman <mathias.nyman@linux.intel.com>
+Date: Mon, 14 May 2018 11:57:23 +0300
+Subject: [PATCH 4/4] xhci: Fix USB3 NULL pointer dereference at logical
+ disconnect.
+
+Hub driver will try to disable a USB3 device twice at logical disconnect,
+racing with xhci_free_dev() callback from the first port disable.
+
+This can be triggered with "udisksctl power-off --block-device <disk>"
+or by writing "1" to the "remove" sysfs file for a USB3 device
+in 4.17-rc4.
+
+USB3 devices don't have a similar disabled link state as USB2 devices,
+and use a U3 suspended link state instead. In this state the port
+is still enabled and connected.
+
+hub_port_connect() first disconnects the device, then later it notices
+that device is still enabled (due to U3 states) it will try to disable
+the port again (set to U3).
+
+The xhci_free_dev() called during device disable is async, so checking
+for existing xhci->devs[i] when setting link state to U3 the second time
+was successful, even if device was being freed.
+
+The regression was caused by, and whole thing revealed by,
+Commit 44a182b9d177 ("xhci: Fix use-after-free in xhci_free_virt_device")
+which sets xhci->devs[i]->udev to NULL before xhci_virt_dev() returned.
+and causes a NULL pointer dereference the second time we try to set U3.
+
+Fix this by checking xhci->devs[i]->udev exists before setting link state.
+
+The original patch went to stable so this fix needs to be applied there as
+well.
+
+Fixes: 44a182b9d177 ("xhci: Fix use-after-free in xhci_free_virt_device")
+Cc: <stable@vger.kernel.org>
+Reported-by: Jordan Glover <Golden_Miller83@protonmail.ch>
+Tested-by: Jordan Glover <Golden_Miller83@protonmail.ch>
+Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
+---
+ drivers/usb/host/xhci-hub.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/usb/host/xhci-hub.c b/drivers/usb/host/xhci-hub.c
+index 72ebbc908e19..32cd52ca8318 100644
+--- a/drivers/usb/host/xhci-hub.c
++++ b/drivers/usb/host/xhci-hub.c
+@@ -354,7 +354,7 @@ int xhci_find_slot_id_by_port(struct usb_hcd *hcd, struct xhci_hcd *xhci,
+
+ slot_id = 0;
+ for (i = 0; i < MAX_HC_SLOTS; i++) {
+- if (!xhci->devs[i])
++ if (!xhci->devs[i] || !xhci->devs[i]->udev)
+ continue;
+ speed = xhci->devs[i]->udev->speed;
+ if (((speed >= USB_SPEED_SUPER) == (hcd->speed >= HCD_USB3))
+--
+2.17.0
+
diff --git a/PKGBUILD b/PKGBUILD
index 82b9f2eb9a32..182042a58df8 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -64,7 +64,7 @@ _rtver=2
pkgver=${_major}.${_minor}.${_rtver}
_pkgver=${_major}.${_minor}
_rtpatchver=rt${_rtver}
-pkgrel=1
+pkgrel=2
arch=('x86_64')
url="https://github.com/Algodev-github/bfq-mq/"
license=('GPL2')
@@ -103,7 +103,8 @@ source=("https://www.kernel.org/pub/linux/kernel/v4.x/${_srcname}.tar.xz"
'linux.preset'
'0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch'
'0002-drm-i915-edp-Only-use-the-alternate-fixed-mode-if-it.patch'
- '0003-Partially-revert-swiotlb-remove-various-exports.patch')
+ '0003-Partially-revert-swiotlb-remove-various-exports.patch'
+ '0004-xhci-Fix-USB3-NULL-pointer-dereference-at-logical-di.patch')
_kernelname=${pkgbase#linux}
: ${_kernelname:=-rt-bfq}
@@ -131,6 +132,10 @@ prepare() {
msg "NVIDIA driver compat"
patch -Np1 -i ../0003-Partially-revert-swiotlb-remove-various-exports.patch
+ ### Fix https://bugs.archlinux.org/task/58237
+ msg "Fix #58237"
+ patch -Np1 -i ../0004-xhci-Fix-USB3-NULL-pointer-dereference-at-logical-di.patch
+
### Fix gcc8 bogus warnings
msg "Fix gcc8 bogus warnings"
patch -Np1 -i ../0005-objtool-add-gcc8-support.patch
@@ -436,9 +441,10 @@ sha512sums=('ab47849314b177d0eec9dbf261f33972b0d89fb92fb0650130ffa7abc2f36c0fab2
'4a8b324aee4cccf3a512ad04ce1a272d14e5b05c8de90feb82075f55ea3845948d817e1b0c6f298f5816834ddd3e5ce0a0e2619866289f3c1ab8fd2f35f04f44'
'6346b66f54652256571ef65da8e46db49a95ac5978ecd57a507c6b2a28aee70bb3ff87045ac493f54257c9965da1046a28b72cb5abb0087204d257f14b91fd74'
'2dc6b0ba8f7dbf19d2446c5c5f1823587de89f4e28e9595937dd51a87755099656f2acec50e3e2546ea633ad1bfd1c722e0c2b91eef1d609103d8abdc0a7cbaf'
- '3c4b172d3a67897757706ecb4f98f8ded83223379332812ef633b3185e7b686509f40b1cae237f23bfc59a6e3cbcb8b8ebd68d1ba02549d525b97c63376cce6a'
- '213c4223a25ea444857a9a289a454abd91d26b3da349b70d1ec9ccd2443cb2223815819e48c9efd3685c38df1445df532cf149af7d9326dc635ccd32ad135ecc'
- 'cb69ad1a79df45f1c2af8bacb58fb760651bd92154cf1fc495d4032a88e575e2eb4f2fc3a299ca000e87c51338c67cfcf2933a346d23130c215cd404524304dc')
+ 'd4a5dadbdbbb8a2c2c3b4b5e77ea19664e0742825648d10635ce3b7642f01d71d51fd8ed58dcfd686981ef9c3f83965746686231b9bac1974809be1618e60373'
+ '071c38539db9660e743cca5514a5b2c10e79716c59435976f7cd18bd77254b39e1cdba6386ac6938c00c7585e1834508f85bc65f4d2af28246dae864b71b06b3'
+ '6c4bf0d5230e7a3e895f88cf6cc84d6df550fefa2c865e4d5853e02682e781c5a149fb4f853ac7513f335271415fae4a4edf13139de4ba067102e9d8083c22a0'
+ 'f5a6e9e6244ed2bb336f359a65ba922226f76319c216eae3c1acca137084ab0c89372d8ec2299d0377ad909534a5d13d8db9a9376e357d600518c81811256d07')
validpgpkeys=(
'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds