summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorgraysky2018-05-17 03:16:23 -0400
committergraysky2018-05-17 03:16:23 -0400
commitb8b3e4a3915f2f2f850bda12ece4664c96240efb (patch)
treeea5583a518189bc517fe797b208363c754b3702c
parent884fa386f10ec3672008ddacc6b93ff8b728c77d (diff)
downloadaur-b8b3e4a3915f2f2f850bda12ece4664c96240efb.tar.gz
Update to 4.16.9-2
-rw-r--r--.SRCINFO26
-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-xhci-Fix-USB3-NULL-pointer-dereference-at-logical-di.patch63
-rw-r--r--PKGBUILD17
-rw-r--r--config2
6 files changed, 98 insertions, 28 deletions
diff --git a/.SRCINFO b/.SRCINFO
index bd64ed1557b5..5eac425e5074 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,8 +1,8 @@
# Generated by mksrcinfo v8
-# Thu May 10 17:03:05 UTC 2018
+# Thu May 17 07:16:23 UTC 2018
pkgbase = linux-ck
- pkgver = 4.16.8
- pkgrel = 1
+ pkgver = 4.16.9
+ pkgrel = 2
url = https://wiki.archlinux.org/index.php/Linux-ck
arch = x86_64
license = GPL2
@@ -13,8 +13,8 @@ pkgbase = linux-ck
options = !strip
source = https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.16.tar.xz
source = https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.16.tar.sign
- source = https://www.kernel.org/pub/linux/kernel/v4.x/patch-4.16.8.xz
- source = https://www.kernel.org/pub/linux/kernel/v4.x/patch-4.16.8.sign
+ source = https://www.kernel.org/pub/linux/kernel/v4.x/patch-4.16.9.xz
+ source = https://www.kernel.org/pub/linux/kernel/v4.x/patch-4.16.9.sign
source = config
source = 60-linux.hook
source = 90-linux.hook
@@ -23,18 +23,20 @@ pkgbase = linux-ck
source = http://ck.kolivas.org/patches/4.0/4.16/4.16-ck1/patch-4.16-ck1.xz
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-xhci-Fix-USB3-NULL-pointer-dereference-at-logical-di.patch
sha256sums = 63f6dc8e3c9f3a0273d5d6f4dca38a2413ca3a5f689329d05b750e4c87bb21b9
sha256sums = SKIP
- sha256sums = 6fb2db1e38f762e6a028dfa5e6d094f0eb4324572667923aca3d64c87117772d
+ sha256sums = 299b45a4f16f763ecf654e6642c020b6e9e461601d056ef44ecb21b54d736cbf
sha256sums = SKIP
- sha256sums = c5c99350428916ca841ea6d20b77bae29deccc24b7455bfd9ec78ab05a614f69
+ sha256sums = 31f5964b9071c7c7f60e89ba505e8acc2bf47e2357e3d06098d6f22f72aaaf08
sha256sums = ae2e95db94ef7176207c690224169594d49445e04249d2499e9d2fbc117a0b21
sha256sums = 75f99f5239e03238f88d1a834c50043ec32b1dc568f2cc291b07d04718483919
sha256sums = ad6344badc91ad0630caacde83f7f9b97276f80d26a20619a87952be65492c65
sha256sums = 226e30068ea0fecdb22f337391385701996bfbdba37cdcf0f1dbf55f1080542d
sha256sums = 61cd4b129eac475ad82fcdbbf9952b80e81e7c893776c00e3b6a658b950d0b26
- sha256sums = 8e56d17c93fe6276046056c8875d04eae8d505369e89db7092b73689bf9bfe55
- sha256sums = 6d5821f972861e37606458ac2a03fe289620e079378dd081e49034e1570e7bfb
+ sha256sums = 286ea6a6f19148ec09d7c07bd80cd08f44a9b8f5821b0732fdbb1dc14ceb539b
+ sha256sums = ca6590d1368788dff5dd41f2a643ee1dcce4ec9e5ead5caa6e673f68c44851cb
+ sha256sums = ffa7f3305bade3ed258a93919c28fb0c810953d3e44ae4c9608512991f7eb703
pkgname = linux-ck
pkgdesc = The Linux-ck kernel and modules with the ck1 patchset featuring MuQSS CPU scheduler v0.171
@@ -44,12 +46,12 @@ pkgname = linux-ck
depends = kmod
depends = mkinitcpio>=0.7
optdepends = crda: to set the correct wireless channels of your country
- provides = linux-ck=4.16.8
+ provides = linux-ck=4.16.9
backup = etc/mkinitcpio.d/linux-ck.preset
pkgname = linux-ck-headers
pkgdesc = Header files and scripts for building modules for Linux-ck kernel
depends = linux-ck
- provides = linux-ck-headers=4.16.8
- provides = linux-headers=4.16.8
+ provides = linux-ck-headers=4.16.9
+ provides = linux-headers=4.16.9
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 e1bd96bc1518..6748fd65e79c 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 07043e7b2e94a711c7ffa6f72c6f50a73dccd86d Mon Sep 17 00:00:00 2001
-Message-Id: <07043e7b2e94a711c7ffa6f72c6f50a73dccd86d.1525091195.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/2] add sysctl to disallow unprivileged CLONE_NEWUSER by
+Subject: [PATCH 1/3] 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 bf8149591d76..26953df1687d 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 5cbcef251f3997a70ac62e9a971287b06b25f727 Mon Sep 17 00:00:00 2001
-Message-Id: <5cbcef251f3997a70ac62e9a971287b06b25f727.1525091195.git.jan.steffens@gmail.com>
-In-Reply-To: <07043e7b2e94a711c7ffa6f72c6f50a73dccd86d.1525091195.git.jan.steffens@gmail.com>
-References: <07043e7b2e94a711c7ffa6f72c6f50a73dccd86d.1525091195.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/2] drm/i915/edp: Only use the alternate fixed mode if it's
+Subject: [PATCH 2/3] 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-xhci-Fix-USB3-NULL-pointer-dereference-at-logical-di.patch b/0003-xhci-Fix-USB3-NULL-pointer-dereference-at-logical-di.patch
new file mode 100644
index 000000000000..55968d7f0f11
--- /dev/null
+++ b/0003-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 3/3] 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 11d913f911c0..bc2c7968e206 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -66,8 +66,8 @@ _localmodcfg=
pkgbase=linux-ck
_srcname=linux-4.16
-pkgver=4.16.8
-pkgrel=1
+pkgver=4.16.9
+pkgrel=2
_ckpatchversion=1
arch=('x86_64')
url="https://wiki.archlinux.org/index.php/Linux-ck"
@@ -88,6 +88,7 @@ source=(
"http://ck.kolivas.org/patches/4.0/4.16/4.16-ck${_ckpatchversion}/${_ckpatchname}.xz"
0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch
0002-drm-i915-edp-Only-use-the-alternate-fixed-mode-if-it.patch
+ 0003-xhci-Fix-USB3-NULL-pointer-dereference-at-logical-di.patch
)
validpgpkeys=(
'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds
@@ -95,16 +96,17 @@ validpgpkeys=(
)
sha256sums=('63f6dc8e3c9f3a0273d5d6f4dca38a2413ca3a5f689329d05b750e4c87bb21b9'
'SKIP'
- '6fb2db1e38f762e6a028dfa5e6d094f0eb4324572667923aca3d64c87117772d'
+ '299b45a4f16f763ecf654e6642c020b6e9e461601d056ef44ecb21b54d736cbf'
'SKIP'
- 'c5c99350428916ca841ea6d20b77bae29deccc24b7455bfd9ec78ab05a614f69'
+ '31f5964b9071c7c7f60e89ba505e8acc2bf47e2357e3d06098d6f22f72aaaf08'
'ae2e95db94ef7176207c690224169594d49445e04249d2499e9d2fbc117a0b21'
'75f99f5239e03238f88d1a834c50043ec32b1dc568f2cc291b07d04718483919'
'ad6344badc91ad0630caacde83f7f9b97276f80d26a20619a87952be65492c65'
'226e30068ea0fecdb22f337391385701996bfbdba37cdcf0f1dbf55f1080542d'
'61cd4b129eac475ad82fcdbbf9952b80e81e7c893776c00e3b6a658b950d0b26'
- '8e56d17c93fe6276046056c8875d04eae8d505369e89db7092b73689bf9bfe55'
- '6d5821f972861e37606458ac2a03fe289620e079378dd081e49034e1570e7bfb')
+ '286ea6a6f19148ec09d7c07bd80cd08f44a9b8f5821b0732fdbb1dc14ceb539b'
+ 'ca6590d1368788dff5dd41f2a643ee1dcce4ec9e5ead5caa6e673f68c44851cb'
+ 'ffa7f3305bade3ed258a93919c28fb0c810953d3e44ae4c9608512991f7eb703')
_kernelname=${pkgbase#linux}
: ${_kernelname:=-ARCH}
@@ -124,6 +126,9 @@ prepare() {
# https://bugs.archlinux.org/task/56711
patch -Np1 -i ../0002-drm-i915-edp-Only-use-the-alternate-fixed-mode-if-it.patch
+ # https://bugs.archlinux.org/task/58237
+ patch -Np1 -i ../0003-xhci-Fix-USB3-NULL-pointer-dereference-at-logical-di.patch
+
# fix naming schema in EXTRAVERSION of ck patch set
sed -i -re "s/^(.EXTRAVERSION).*$/\1 = /" "../${_ckpatchname}"
diff --git a/config b/config
index d0e13454cdbf..e04afd1259ce 100644
--- a/config
+++ b/config
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86 4.16.8-1 Kernel Configuration
+# Linux/x86 4.16.9-2 Kernel Configuration
#
CONFIG_64BIT=y
CONFIG_X86_64=y