diff options
author | Jeka | 2023-06-15 23:52:20 +0300 |
---|---|---|
committer | Jeka | 2023-06-15 23:52:20 +0300 |
commit | a6690a161896666ca367d9c3a16e4f3fa416aec7 (patch) | |
tree | baaaa873fcff00286c6cd809c20e0fcf7c2b459e | |
parent | a540890ccd27628f32864d9fb42a08f4bbc8d71e (diff) | |
download | aur-a6690a161896666ca367d9c3a16e4f3fa416aec7.tar.gz |
kernel release 6.3.8
-rw-r--r-- | .SRCINFO | 10 | ||||
-rw-r--r-- | 0001-nouveau-fix-client-work-fence-deletion-race.patch | 55 | ||||
-rw-r--r-- | PKGBUILD | 9 | ||||
-rw-r--r-- | config | 2 |
4 files changed, 67 insertions, 9 deletions
@@ -1,6 +1,6 @@ pkgbase = linux-jcore pkgdesc = Kernel for Manjaro/EndeavourOS/Arch (ACS override patch include) - pkgver = 6.3.7 + pkgver = 6.3.8 pkgrel = 1 url = https://www.kernel.org/ arch = x86_64 @@ -21,10 +21,11 @@ pkgbase = linux-jcore replaces = linux-acs-manjaro replaces = linux-acs-manjaro-headers options = !strip - source = https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.3.7.tar.xz + source = https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.3.8.tar.xz source = config source = 0101-ZEN_Add_sysctl_and_CONFIG_to_disallow_unprivileged_CLONE_NEWUSER.patch source = 0103-Bluetooth_fix_deadlock_for_RFCOMM_sk_state_change.patch + source = 0001-nouveau-fix-client-work-fence-deletion-race.patch source = 0301-revert-fbcon-remove-now-unusued-softback_lines-cursor-argument.patch source = 0302-revert-fbcon-remove-no-op-fbcon_set_origin.patch source = 0303-revert-fbcon-remove-soft-scrollback-code.patch @@ -42,10 +43,11 @@ pkgbase = linux-jcore source = 0412-bootsplash.patch source = 0413-bootsplash.gitpatch source = 0999-acs.gitpatch - sha256sums = fe369743996c522a7b473e99dcf8f88847bd5cc88546fd3b7a41d9fe5a5b97a9 - sha256sums = b538481a355e88fa3888649d1c8836da4669b0fa93734ca72af8bef277ed1864 + sha256sums = 4323d421250e2e444c35d36f4aa8ddb56591dedc25c68d359d19c4ef9dd20955 + sha256sums = 4f23cc90af217bbd7e22570aab739e345916ab3c95b1e3efedaffe199000e74d sha256sums = 05f04019d4a2ee072238c32860fa80d673687d84d78ef436ae9332b6fb788467 sha256sums = a8a2d8b402b2877df1a949a106c634b6c366dd33b954c4b735ce1d3778214169 + sha256sums = 0042242bb3348e83d9361c87d90f60d9ac354e9593b59dbd26b074df8f8b75fc sha256sums = 2b11905b63b05b25807dd64757c779da74dd4c37e36d3f7a46485b1ee5a9d326 sha256sums = 94a8538251ad148f1025cc3de446ce64f73dc32b01815426fb159c722e8fa5bc sha256sums = 50f4ccc4aeb0ffb8ec648b90a84ff188dbfed5364075cf0c6045c5696caf6ca9 diff --git a/0001-nouveau-fix-client-work-fence-deletion-race.patch b/0001-nouveau-fix-client-work-fence-deletion-race.patch new file mode 100644 index 000000000000..c5073038f440 --- /dev/null +++ b/0001-nouveau-fix-client-work-fence-deletion-race.patch @@ -0,0 +1,55 @@ +From 0138bee3c72c96d6aaedce02f5691730ec81571d Mon Sep 17 00:00:00 2001 +From: Dave Airlie <airlied@redhat.com> +Date: Thu, 15 Jun 2023 12:22:11 +1000 +Subject: [PATCH] nouveau: fix client work fence deletion race + +This seems to have existed for ever but is now more apparant after +9bff18d13473a9fdf81d5158248472a9d8ecf2bd (drm/ttm: use per BO cleanup workers) + +My analysis: +two threads are running, +one in the irq signalling the fence, in dma_fence_signal_timestamp_locked, +it has done the DMA_FENCE_FLAG_SIGNALLED_BIT setting, but hasn't yet reached the callbacks. + +second thread in nouveau_cli_work_ready, where it sees the fence is signalled, so then puts the +fence, cleanups the object and frees the work item, which contains the callback. + +thread one goes again and tries to call the callback and causes the use-after-free. + +Proposed fix: +lock the fence signalled check in nouveau_cli_work_ready, so either the callbacks are done +or the memory is freed. + +Signed-off-by: Dave Airlie <airlied@redhat.com> +--- + drivers/gpu/drm/nouveau/nouveau_drm.c | 14 ++++++++++---- + 1 file changed, 10 insertions(+), 4 deletions(-) + +diff --git a/drivers/gpu/drm/nouveau/nouveau_drm.c b/drivers/gpu/drm/nouveau/nouveau_drm.c +index cc7c5b4a05fd..1a45be769848 100644 +--- a/drivers/gpu/drm/nouveau/nouveau_drm.c ++++ b/drivers/gpu/drm/nouveau/nouveau_drm.c +@@ -137,10 +137,16 @@ nouveau_name(struct drm_device *dev) + static inline bool + nouveau_cli_work_ready(struct dma_fence *fence) + { +- if (!dma_fence_is_signaled(fence)) +- return false; +- dma_fence_put(fence); +- return true; ++ unsigned long flags; ++ bool ret = true; ++ spin_lock_irqsave(fence->lock, flags); ++ if (!dma_fence_is_signaled_locked(fence)) ++ ret = false; ++ spin_unlock_irqrestore(fence->lock, flags); ++ ++ if (ret == true) ++ dma_fence_put(fence); ++ return ret; + } + + static void +-- +2.40.1 + @@ -12,7 +12,7 @@ pkgbase=linux-jcore pkgname=('linux-jcore' 'linux-jcore-headers') _kernelname=-jcore _hostname=jcore -pkgver=6.3.7 +pkgver=6.3.8 pkgrel=1 pkgdesc="Kernel for Manjaro/EndeavourOS/Arch (ACS override patch include)" arch=('x86_64') @@ -28,7 +28,7 @@ source=("https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-$pkgver.tar.xz" '0101-ZEN_Add_sysctl_and_CONFIG_to_disallow_unprivileged_CLONE_NEWUSER.patch' '0103-Bluetooth_fix_deadlock_for_RFCOMM_sk_state_change.patch' # MANJARO Patches - + '0001-nouveau-fix-client-work-fence-deletion-race.patch' # Bootsplash '0301-revert-fbcon-remove-now-unusued-softback_lines-cursor-argument.patch' '0302-revert-fbcon-remove-no-op-fbcon_set_origin.patch' @@ -48,10 +48,11 @@ source=("https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-$pkgver.tar.xz" '0413-bootsplash.gitpatch' # ACS override patch '0999-acs.gitpatch') -sha256sums=('fe369743996c522a7b473e99dcf8f88847bd5cc88546fd3b7a41d9fe5a5b97a9' - 'b538481a355e88fa3888649d1c8836da4669b0fa93734ca72af8bef277ed1864' +sha256sums=('4323d421250e2e444c35d36f4aa8ddb56591dedc25c68d359d19c4ef9dd20955' + '4f23cc90af217bbd7e22570aab739e345916ab3c95b1e3efedaffe199000e74d' '05f04019d4a2ee072238c32860fa80d673687d84d78ef436ae9332b6fb788467' 'a8a2d8b402b2877df1a949a106c634b6c366dd33b954c4b735ce1d3778214169' + '0042242bb3348e83d9361c87d90f60d9ac354e9593b59dbd26b074df8f8b75fc' '2b11905b63b05b25807dd64757c779da74dd4c37e36d3f7a46485b1ee5a9d326' '94a8538251ad148f1025cc3de446ce64f73dc32b01815426fb159c722e8fa5bc' '50f4ccc4aeb0ffb8ec648b90a84ff188dbfed5364075cf0c6045c5696caf6ca9' @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 6.3.7-1 Kernel Configuration +# Linux/x86 6.3.8-1 Kernel Configuration # CONFIG_CC_VERSION_TEXT="gcc (GCC) 13.1.1 20230429" CONFIG_CC_IS_GCC=y |