diff options
-rw-r--r-- | .SRCINFO | 26 | ||||
-rw-r--r-- | 0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch | 6 | ||||
-rw-r--r-- | 0002-drm-i915-edp-Only-use-the-alternate-fixed-mode-if-it.patch | 12 | ||||
-rw-r--r-- | 0003-Partially-revert-swiotlb-remove-various-exports.patch | 12 | ||||
-rw-r--r-- | 0004-xhci-Fix-USB3-NULL-pointer-dereference-at-logical-di.patch | 63 | ||||
-rw-r--r-- | PKGBUILD | 21 | ||||
-rw-r--r-- | config | 2 |
7 files changed, 106 insertions, 36 deletions
@@ -1,7 +1,7 @@ # Generated by mksrcinfo v8 -# Mon May 14 18:49:38 UTC 2018 +# Fri May 18 20:40:12 UTC 2018 pkgbase = linux-rc - pkgver = 4.16.9rc1 + pkgver = 4.16.10rc1 pkgrel = 1 url = https://www.kernel.org/ arch = x86_64 @@ -13,10 +13,10 @@ pkgbase = linux-rc 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/stable-review/patch-4.16.9-rc1.xz - source = https://www.kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.16.9-rc1.sign - source = http://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/stable-review/patch-4.16.10-rc1.xz + source = https://www.kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.16.10-rc1.sign + source = http://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 @@ -24,19 +24,21 @@ pkgbase = linux-rc 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 sha256sums = 63f6dc8e3c9f3a0273d5d6f4dca38a2413ca3a5f689329d05b750e4c87bb21b9 sha256sums = SKIP - sha256sums = e5589b5192cc4a175ff2bdb1cd852e0471086fca51aaf1a0302a9b5fd80da2e9 + sha256sums = 16a5e7f08d590ca6fc8177265086a7a97da3c817c0dce86f1aff89c6f83dbf0c sha256sums = SKIP - sha256sums = 6fb2db1e38f762e6a028dfa5e6d094f0eb4324572667923aca3d64c87117772d + sha256sums = 299b45a4f16f763ecf654e6642c020b6e9e461601d056ef44ecb21b54d736cbf sha256sums = SKIP - sha256sums = 8566a49997faf3f8678440c52578a7a0ee901e598d3b67d3bee3799fb92e8f86 + sha256sums = 66e44d128ddbc6ca30127d7fca3947f0200146b451bf3d7376fc2ef985a4a89b sha256sums = ae2e95db94ef7176207c690224169594d49445e04249d2499e9d2fbc117a0b21 sha256sums = 75f99f5239e03238f88d1a834c50043ec32b1dc568f2cc291b07d04718483919 sha256sums = ad6344badc91ad0630caacde83f7f9b97276f80d26a20619a87952be65492c65 - sha256sums = a6119b46856ed2652c509fed380052e6df2be89c69a0d748cf7d8745bf35b871 - sha256sums = 545566a7358d711b8d4f9924df685e2410549e20d99e5d1c0dfaccdfeafda60d - sha256sums = bef6dd7b3a749ec072614ea4ed0bd5ea1d90519731f3438e4938d5b957032cc5 + sha256sums = 69241df4bd7897eb04db90e4d0a82c6e0b99b806019ba96bb885278ca8da89df + sha256sums = 10728f672a83a515af540cafafde62346e9ccc2d14bf74e417fd2693865b1293 + sha256sums = a81b612369e78d142ff80ec3adda36b3f94503e5a68d54282c508a112cc8dae0 + sha256sums = 052a39582f84c52b027c261fcec90325493f4d46f15647c274a58e39145deced pkgname = linux-rc pkgdesc = The release candidate kernel and modules 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 10d9a4bfda83..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 ff9d06de19e83c0c5a00a4d46376b4d1032c4f99 Mon Sep 17 00:00:00 2001 -Message-Id: <ff9d06de19e83c0c5a00a4d46376b4d1032c4f99.1524129246.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/6] 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 32c398976100..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 3dcbf4dd14d295c3a238d73e9f791a827b906058 Mon Sep 17 00:00:00 2001 -Message-Id: <3dcbf4dd14d295c3a238d73e9f791a827b906058.1524129246.git.jan.steffens@gmail.com> -In-Reply-To: <ff9d06de19e83c0c5a00a4d46376b4d1032c4f99.1524129246.git.jan.steffens@gmail.com> -References: <ff9d06de19e83c0c5a00a4d46376b4d1032c4f99.1524129246.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/6] 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 5a5f9ce0d2cd..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 1b03bcc6faecde170f9bea83accdde7bbd36df96 Mon Sep 17 00:00:00 2001 -Message-Id: <1b03bcc6faecde170f9bea83accdde7bbd36df96.1524129246.git.jan.steffens@gmail.com> -In-Reply-To: <ff9d06de19e83c0c5a00a4d46376b4d1032c4f99.1524129246.git.jan.steffens@gmail.com> -References: <ff9d06de19e83c0c5a00a4d46376b4d1032c4f99.1524129246.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/6] 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 + @@ -5,8 +5,8 @@ pkgbase=linux-rc pkgrel=1 _srcname=linux-4.16 -_stable=4.16.8 -_patchver=4.16.9 +_stable=4.16.9 +_patchver=4.16.10 _rcver=1 pkgver=${_patchver}rc${_rcver} _rcpatch=patch-${_patchver}-rc${_rcver} @@ -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 ) validpgpkeys=( 'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds @@ -36,17 +37,18 @@ validpgpkeys=( ) sha256sums=('63f6dc8e3c9f3a0273d5d6f4dca38a2413ca3a5f689329d05b750e4c87bb21b9' 'SKIP' - 'e5589b5192cc4a175ff2bdb1cd852e0471086fca51aaf1a0302a9b5fd80da2e9' + '16a5e7f08d590ca6fc8177265086a7a97da3c817c0dce86f1aff89c6f83dbf0c' 'SKIP' - '6fb2db1e38f762e6a028dfa5e6d094f0eb4324572667923aca3d64c87117772d' + '299b45a4f16f763ecf654e6642c020b6e9e461601d056ef44ecb21b54d736cbf' 'SKIP' - '8566a49997faf3f8678440c52578a7a0ee901e598d3b67d3bee3799fb92e8f86' + '66e44d128ddbc6ca30127d7fca3947f0200146b451bf3d7376fc2ef985a4a89b' 'ae2e95db94ef7176207c690224169594d49445e04249d2499e9d2fbc117a0b21' '75f99f5239e03238f88d1a834c50043ec32b1dc568f2cc291b07d04718483919' 'ad6344badc91ad0630caacde83f7f9b97276f80d26a20619a87952be65492c65' - 'a6119b46856ed2652c509fed380052e6df2be89c69a0d748cf7d8745bf35b871' - '545566a7358d711b8d4f9924df685e2410549e20d99e5d1c0dfaccdfeafda60d' - 'bef6dd7b3a749ec072614ea4ed0bd5ea1d90519731f3438e4938d5b957032cc5') + '69241df4bd7897eb04db90e4d0a82c6e0b99b806019ba96bb885278ca8da89df' + '10728f672a83a515af540cafafde62346e9ccc2d14bf74e417fd2693865b1293' + 'a81b612369e78d142ff80ec3adda36b3f94503e5a68d54282c508a112cc8dae0' + '052a39582f84c52b027c261fcec90325493f4d46f15647c274a58e39145deced') _kernelname=${pkgbase#linux} @@ -72,6 +74,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 + cat ../config - >.config <<END CONFIG_LOCALVERSION="${_kernelname}" CONFIG_LOCALVERSION_AUTO=n @@ -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 |