aboutsummarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatteo De Carlo2018-05-27 14:30:37 +0200
committerMatteo De Carlo2018-05-27 14:30:37 +0200
commit41de399e8ede4d4d8f453da01a5aae5dfa445170 (patch)
tree8b12a67e1d862822e7bbf53b5bf2e97034626baa
parent9a3638ef59cdbb2bbf0b7ec357c2629aff54fa9b (diff)
downloadaur-41de399e8ede4d4d8f453da01a5aae5dfa445170.tar.gz
update to 4.16.9
-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--PKGBUILD17
-rw-r--r--config2
6 files changed, 90 insertions, 22 deletions
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 816d16d7aec2..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 dea1110505c920b0f7e0cdd8840448e48ef420fa Mon Sep 17 00:00:00 2001
-Message-Id: <dea1110505c920b0f7e0cdd8840448e48ef420fa.1525295228.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 fdb40cdae479..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 800a7732e3d89f3dac3b10ca6b82868286562331 Mon Sep 17 00:00:00 2001
-Message-Id: <800a7732e3d89f3dac3b10ca6b82868286562331.1525295228.git.jan.steffens@gmail.com>
-In-Reply-To: <dea1110505c920b0f7e0cdd8840448e48ef420fa.1525295228.git.jan.steffens@gmail.com>
-References: <dea1110505c920b0f7e0cdd8840448e48ef420fa.1525295228.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 7434efb64fad..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 d39f4cf63fe216321bf105e3062cef3ad5250cd3 Mon Sep 17 00:00:00 2001
-Message-Id: <d39f4cf63fe216321bf105e3062cef3ad5250cd3.1525295228.git.jan.steffens@gmail.com>
-In-Reply-To: <dea1110505c920b0f7e0cdd8840448e48ef420fa.1525295228.git.jan.steffens@gmail.com>
-References: <dea1110505c920b0f7e0cdd8840448e48ef420fa.1525295228.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 44f7eb408fdb..0bb1bb65ad6b 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 9d2f24f3873d..ecba1aeaffe7 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -5,7 +5,7 @@
pkgbase=linux-covolunablu-gaming
_srcname=linux-4.16
-pkgver=4.16.8
+pkgver=4.16.9
pkgrel=1
arch=('x86_64')
url="https://www.kernel.org/"
@@ -29,6 +29,7 @@ source=(
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
+ 0004-xhci-Fix-USB3-NULL-pointer-dereference-at-logical-di.patch
bfq-default.patch
bfq-lock-division-zero.patch
https://raw.githubusercontent.com/ValveSoftware/steamos_kernel/c4948d923637a956853df0e85a6d530e483bdffa/drivers/input/joystick/xpad.c
@@ -39,16 +40,17 @@ validpgpkeys=(
)
sha256sums=('63f6dc8e3c9f3a0273d5d6f4dca38a2413ca3a5f689329d05b750e4c87bb21b9'
'SKIP'
- '6fb2db1e38f762e6a028dfa5e6d094f0eb4324572667923aca3d64c87117772d'
+ '299b45a4f16f763ecf654e6642c020b6e9e461601d056ef44ecb21b54d736cbf'
'SKIP'
- '242fb87ff64e1a4e0b608239cadd46f49eb08ab751481a1fe7ac9e8f084b0959'
+ 'd465b87010abaa644d782efb7ba6baa5594d975336bd02444719eeeb0cebe354'
'ae2e95db94ef7176207c690224169594d49445e04249d2499e9d2fbc117a0b21'
'75f99f5239e03238f88d1a834c50043ec32b1dc568f2cc291b07d04718483919'
'ad6344badc91ad0630caacde83f7f9b97276f80d26a20619a87952be65492c65'
# -- patches
- '7fb607fe384dd814e9e45d7fc28f7b5b23a51d80784c54bf9209486ad428be14'
- 'ceaa19e0af3842c62eb666a4ac5c79d89b3e6d00593442f18d6508ca6d74bbaa'
- '5b397cf9eccdad0c1f2865842c29ba6f4e32ad7dbe4e0c6ef6ca6f07d2963cea'
+ '69241df4bd7897eb04db90e4d0a82c6e0b99b806019ba96bb885278ca8da89df'
+ '10728f672a83a515af540cafafde62346e9ccc2d14bf74e417fd2693865b1293'
+ 'a81b612369e78d142ff80ec3adda36b3f94503e5a68d54282c508a112cc8dae0'
+ '052a39582f84c52b027c261fcec90325493f4d46f15647c274a58e39145deced'
'a20f72660076bc5f73404800da9bc52ceb592bdfbdab19438d66da8c01edc4f4'
'2a40a1906c5bef180035c8af21c38c1f364a81f38507b684058803b3fa9fcfd6'
'851b79826c1695acf93faffb17bcb420c11d12cfa96ac6b5082e4306c2d8fb55'
@@ -75,6 +77,9 @@ prepare() {
# NVIDIA driver compat
patch -Np1 -i ../0003-Partially-revert-swiotlb-remove-various-exports.patch
+ # https://bugs.archlinux.org/task/58237
+ patch -Np1 -i ../0004-xhci-Fix-USB3-NULL-pointer-dereference-at-logical-di.patch
+
# use bfq as default scheduler
patch -p1 -i ../bfq-default.patch
diff --git a/config b/config
index a4f58d2194f4..52e08e4d3aa7 100644
--- a/config
+++ b/config
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86 4.16.7-1 Kernel Configuration
+# Linux/x86 4.16.9-1 Kernel Configuration
#
CONFIG_64BIT=y
CONFIG_X86_64=y