diff options
author | Jeka | 2022-11-03 19:58:05 +0300 |
---|---|---|
committer | Jeka | 2022-11-03 19:58:05 +0300 |
commit | a1ba5cc2d545bb0902df05c8d3be97032b18dda4 (patch) | |
tree | 702ef60fa93e11c6bde9f929c3296281e5e5238a | |
parent | 96fc48bdaa547a775eec2f79d7bd297299bb3d31 (diff) | |
download | aur-a1ba5cc2d545bb0902df05c8d3be97032b18dda4.tar.gz |
kernel release 6.0.7
-rw-r--r-- | .SRCINFO | 28 | ||||
-rw-r--r-- | 0103-Bluetooth_fix_deadlock_for_RFCOMM_sk_state_change.patch | 229 | ||||
-rw-r--r-- | 0103-soundwire_intel_Initialize_clock_stop_timeout.patch (renamed from fb23dad87a0bfb6fdfde3dc1d18104da631d050a.patch) | 7 | ||||
-rw-r--r-- | 0104-drm_sched_add_DRM_SCHED_FENCE_DONT_PIPELINE_flag.patch (renamed from 64ebb671ffc4cbfd548e4f1b4aeb98155fd386dc.patch) | 12 | ||||
-rw-r--r-- | 0105-drm_amdgpu_use_DRM_SCHED_FENCE_DONT_PIPELINE_for_VM_updates.patch (renamed from a24b69f369c6c55be8ce40427feb4e127afae129.patch) | 5 | ||||
-rw-r--r-- | 6df3912f64cea68409b08d282ffbccf0af7f8d8e.patch | 27 | ||||
-rw-r--r-- | 785699dbc7041b99e0027bff27ffe17eba202e96.patch | 65 | ||||
-rw-r--r-- | PKGBUILD | 26 | ||||
-rw-r--r-- | config | 2 |
9 files changed, 33 insertions, 368 deletions
@@ -1,7 +1,7 @@ pkgbase = linux-jcore pkgdesc = Kernel for Manjaro/Arch (ACS override patch include) - pkgver = 6.0.6 - pkgrel = 2 + pkgver = 6.0.7 + pkgrel = 1 url = https://www.kernel.org/ arch = x86_64 license = GPL2 @@ -20,16 +20,13 @@ 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.0.6.tar.xz + source = https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.0.7.tar.xz source = config source = 0101-ZEN_Add_sysctl_and_CONFIG_to_disallow_unprivileged_CLONE_NEWUSER.patch source = 0102-mm_vmscan_fix_extreme_overreclaim_and_swap_floods.patch - source = 0103-Bluetooth_fix_deadlock_for_RFCOMM_sk_state_change.patch - source = fb23dad87a0bfb6fdfde3dc1d18104da631d050a.patch - source = 64ebb671ffc4cbfd548e4f1b4aeb98155fd386dc.patch - source = a24b69f369c6c55be8ce40427feb4e127afae129.patch - source = 785699dbc7041b99e0027bff27ffe17eba202e96.patch - source = 6df3912f64cea68409b08d282ffbccf0af7f8d8e.patch + source = 0103-soundwire_intel_Initialize_clock_stop_timeout.patch + source = 0104-drm_sched_add_DRM_SCHED_FENCE_DONT_PIPELINE_flag.patch + source = 0105-drm_amdgpu_use_DRM_SCHED_FENCE_DONT_PIPELINE_for_VM_updates.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 @@ -47,16 +44,13 @@ pkgbase = linux-jcore source = 0412-bootsplash.patch source = 0413-bootsplash.gitpatch source = 0999-acs.gitpatch - sha256sums = 864b05af2d869ba73d61a9c5959e4531a141ab2bd7b217483671f625f9747faa - sha256sums = 00b243b5be38077d073074099b46afcd4b9b0e63a54f490284c4d9c522ac3fc4 + sha256sums = 67dacc2b78605a56e997f4c08d009be87c98ec66f1870220226c8b3cc676590f + sha256sums = d9f5c5959ea6fc4601a1fd78c00982bb5bf873e904f140559ccb7359097ee194 sha256sums = 05f04019d4a2ee072238c32860fa80d673687d84d78ef436ae9332b6fb788467 sha256sums = a75d2a2322c8cd99a6dc9945424fd9006e7a8f9d2793c0ae97ef931f2d54b9a5 - sha256sums = a8a2d8b402b2877df1a949a106c634b6c366dd33b954c4b735ce1d3778214169 - sha256sums = 6c84ff721c3ef0561f532c92cf0096d9adb7e12414bc1fc80b0824e47a863213 - sha256sums = 86ab8a9821ea7300ff7f7c9d64cf54f6662ae4609097fff3795e548f3181d603 - sha256sums = 664890dff8196b0ddf14c6c698dedc4b14251e353bfae2b4fd68e3c487ab3dd6 - sha256sums = ad6fb3d449ded539840cc2dc5e12ecbc9563a68b3054bc93dd302f4ab58d7ca2 - sha256sums = 232ed297c6535e90f51e02449de236297bb2df6d3d159a8cfb78eccb08e68dbe + sha256sums = 5a72a4163937bc588d6a8ed6320e610f6512376b7aa20c4ada5c0ae09cdcd525 + sha256sums = 8ecbe2fdd40c1accc4e7ccd687c319938c18f5adf056ff314c7702775347adf9 + sha256sums = 11b7c141c218d6c026a29aed5ba3c3322343ae677155a6dccf622c151eb1b1aa sha256sums = 2b11905b63b05b25807dd64757c779da74dd4c37e36d3f7a46485b1ee5a9d326 sha256sums = 94a8538251ad148f1025cc3de446ce64f73dc32b01815426fb159c722e8fa5bc sha256sums = 8e5c147591d14300a59ed8354a9d0746cf78650256558b45f964ca76eaed9a9f diff --git a/0103-Bluetooth_fix_deadlock_for_RFCOMM_sk_state_change.patch b/0103-Bluetooth_fix_deadlock_for_RFCOMM_sk_state_change.patch deleted file mode 100644 index b5087316dab2..000000000000 --- a/0103-Bluetooth_fix_deadlock_for_RFCOMM_sk_state_change.patch +++ /dev/null @@ -1,229 +0,0 @@ - -From 430daaab3c78de6bd82f10cfb5a0f016c6e583f6 Mon Sep 17 00:00:00 2001 -From: Desmond Cheong Zhi Xi <desmondcheongzx@gmail.com> -Date: Mon, 4 Oct 2021 14:07:34 -0400 -Subject: [PATCH] Bluetooth: fix deadlock for RFCOMM sk state change - -Syzbot reports the following task hang [1]: - -INFO: task syz-executor255:8499 blocked for more than 143 seconds. - Not tainted 5.14.0-rc7-syzkaller #0 - -Call Trace: - context_switch kernel/sched/core.c:4681 [inline] - __schedule+0x93a/0x26f0 kernel/sched/core.c:5938 - schedule+0xd3/0x270 kernel/sched/core.c:6017 - __lock_sock+0x13d/0x260 net/core/sock.c:2644 - lock_sock_nested+0xf6/0x120 net/core/sock.c:3185 - lock_sock include/net/sock.h:1612 [inline] - rfcomm_sk_state_change+0xb4/0x390 net/bluetooth/rfcomm/sock.c:73 - __rfcomm_dlc_close+0x1b6/0x8a0 net/bluetooth/rfcomm/core.c:489 - rfcomm_dlc_close+0x1ea/0x240 net/bluetooth/rfcomm/core.c:520 - __rfcomm_sock_close+0xac/0x260 net/bluetooth/rfcomm/sock.c:220 - rfcomm_sock_shutdown+0xe9/0x210 net/bluetooth/rfcomm/sock.c:931 - rfcomm_sock_release+0x5f/0x140 net/bluetooth/rfcomm/sock.c:951 - __sock_release+0xcd/0x280 net/socket.c:649 - sock_close+0x18/0x20 net/socket.c:1314 - __fput+0x288/0x920 fs/file_table.c:280 - task_work_run+0xdd/0x1a0 kernel/task_work.c:164 - exit_task_work include/linux/task_work.h:32 [inline] - do_exit+0xbd4/0x2a60 kernel/exit.c:825 - do_group_exit+0x125/0x310 kernel/exit.c:922 - get_signal+0x47f/0x2160 kernel/signal.c:2808 - arch_do_signal_or_restart+0x2a9/0x1c40 arch/x86/kernel/signal.c:865 - handle_signal_work kernel/entry/common.c:148 [inline] - exit_to_user_mode_loop kernel/entry/common.c:172 [inline] - exit_to_user_mode_prepare+0x17d/0x290 kernel/entry/common.c:209 - __syscall_exit_to_user_mode_work kernel/entry/common.c:291 [inline] - syscall_exit_to_user_mode+0x19/0x60 kernel/entry/common.c:302 - do_syscall_64+0x42/0xb0 arch/x86/entry/common.c:86 - entry_SYSCALL_64_after_hwframe+0x44/0xae - -Showing all locks held in the system: -1 lock held by khungtaskd/1653: - #0: ffffffff8b97c280 (rcu_read_lock){....}-{1:2}, at: - debug_show_all_locks+0x53/0x260 kernel/locking/lockdep.c:6446 -1 lock held by krfcommd/4781: - #0: ffffffff8d306528 (rfcomm_mutex){+.+.}-{3:3}, at: - rfcomm_process_sessions net/bluetooth/rfcomm/core.c:1979 [inline] - #0: ffffffff8d306528 (rfcomm_mutex){+.+.}-{3:3}, at: - rfcomm_run+0x2ed/0x4a20 net/bluetooth/rfcomm/core.c:2086 -2 locks held by in:imklog/8206: - #0: ffff8880182ce5f0 (&f->f_pos_lock){+.+.}-{3:3}, at: - __fdget_pos+0xe9/0x100 fs/file.c:974 - #1: ffff8880b9c51a58 (&rq->__lock){-.-.}-{2:2}, at: - raw_spin_rq_lock_nested kernel/sched/core.c:460 [inline] - #1: ffff8880b9c51a58 (&rq->__lock){-.-.}-{2:2}, at: raw_spin_rq_lock - kernel/sched/sched.h:1307 [inline] - #1: ffff8880b9c51a58 (&rq->__lock){-.-.}-{2:2}, at: rq_lock - kernel/sched/sched.h:1610 [inline] - #1: ffff8880b9c51a58 (&rq->__lock){-.-.}-{2:2}, at: - __schedule+0x233/0x26f0 kernel/sched/core.c:5852 -4 locks held by syz-executor255/8499: - #0: ffff888039a83690 (&sb->s_type->i_mutex_key#13){+.+.}-{3:3}, at: - inode_lock include/linux/fs.h:774 [inline] - #0: ffff888039a83690 (&sb->s_type->i_mutex_key#13){+.+.}-{3:3}, at: - __sock_release+0x86/0x280 net/socket.c:648 - #1: - ffff88802fa31120 (sk_lock-AF_BLUETOOTH-BTPROTO_RFCOMM){+.+.}-{0:0}, - at: lock_sock include/net/sock.h:1612 [inline] - #1: - ffff88802fa31120 (sk_lock-AF_BLUETOOTH-BTPROTO_RFCOMM){+.+.}-{0:0}, - at: rfcomm_sock_shutdown+0x54/0x210 net/bluetooth/rfcomm/sock.c:928 - #2: ffffffff8d306528 (rfcomm_mutex){+.+.}-{3:3}, at: - rfcomm_dlc_close+0x34/0x240 net/bluetooth/rfcomm/core.c:507 - #3: ffff888141bd6d28 (&d->lock){+.+.}-{3:3}, at: - __rfcomm_dlc_close+0x162/0x8a0 net/bluetooth/rfcomm/core.c:487 -================================================================== - -The task hangs because of a deadlock that occurs when lock_sock() is -called in rfcomm_sk_state_change(). One such call stack is: - - rfcomm_sock_shutdown(): - lock_sock(); - __rfcomm_sock_close(): - rfcomm_dlc_close(): - __rfcomm_dlc_close(): - rfcomm_dlc_lock(); - rfcomm_sk_state_change(): - lock_sock(); - -lock_sock() has to be called when the sk state is changed because the -lock is not always held when rfcomm_sk_state_change() is -called. However, besides the recursive deadlock, there is also an -issue of a lock hierarchy inversion between rfcomm_dlc_lock() and -lock_sock() if the socket is locked in rfcomm_sk_state_change(). - -To avoid these issues, we can instead schedule the sk state change in -the global workqueue. This is already the implicit assumption about -how sk state changes happen. For example, in rfcomm_sock_shutdown(), -the call to __rfcomm_sock_close() is followed by -bt_sock_wait_state(). - -Additionally, the call to rfcomm_sock_kill() inside -rfcomm_sk_state_change() should be removed. The socket shouldn't be -killed here because only rfcomm_sock_release() calls sock_orphan(), -which it already follows up with a call to rfcomm_sock_kill(). - -Fixes: b7ce436a5d79 ("Bluetooth: switch to lock_sock in RFCOMM") -Link: https://syzkaller.appspot.com/bug?extid=7d51f807c81b190a127d [1] -Reported-by: syzbot+7d51f807c81b190a127d@syzkaller.appspotmail.com -Tested-by: syzbot+7d51f807c81b190a127d@syzkaller.appspotmail.com -Signed-off-by: Desmond Cheong Zhi Xi <desmondcheongzx@gmail.com> -Cc: Hillf Danton <hdanton@sina.com> ---- - include/net/bluetooth/rfcomm.h | 3 +++ - net/bluetooth/rfcomm/core.c | 2 ++ - net/bluetooth/rfcomm/sock.c | 34 ++++++++++++++++++++++------------ - 3 files changed, 27 insertions(+), 12 deletions(-) - -diff --git a/include/net/bluetooth/rfcomm.h b/include/net/bluetooth/rfcomm.h -index 99d26879b02a53..a92799fc5e74d0 100644 ---- a/include/net/bluetooth/rfcomm.h -+++ b/include/net/bluetooth/rfcomm.h -@@ -171,6 +171,7 @@ struct rfcomm_dlc { - struct rfcomm_session *session; - struct sk_buff_head tx_queue; - struct timer_list timer; -+ struct work_struct state_change_work; - - struct mutex lock; - unsigned long state; -@@ -186,6 +187,7 @@ struct rfcomm_dlc { - u8 sec_level; - u8 role_switch; - u32 defer_setup; -+ int err; - - uint mtu; - uint cfc; -@@ -310,6 +312,7 @@ struct rfcomm_pinfo { - u8 role_switch; - }; - -+void __rfcomm_sk_state_change(struct work_struct *work); - int rfcomm_init_sockets(void); - void rfcomm_cleanup_sockets(void); - -diff --git a/net/bluetooth/rfcomm/core.c b/net/bluetooth/rfcomm/core.c -index 7324764384b677..c6494e85cd68b2 100644 ---- a/net/bluetooth/rfcomm/core.c -+++ b/net/bluetooth/rfcomm/core.c -@@ -289,6 +289,7 @@ static void rfcomm_dlc_clear_state(struct rfcomm_dlc *d) - d->flags = 0; - d->mscex = 0; - d->sec_level = BT_SECURITY_LOW; -+ d->err = 0; - d->mtu = RFCOMM_DEFAULT_MTU; - d->v24_sig = RFCOMM_V24_RTC | RFCOMM_V24_RTR | RFCOMM_V24_DV; - -@@ -306,6 +307,7 @@ struct rfcomm_dlc *rfcomm_dlc_alloc(gfp_t prio) - timer_setup(&d->timer, rfcomm_dlc_timeout, 0); - - skb_queue_head_init(&d->tx_queue); -+ INIT_WORK(&d->state_change_work, __rfcomm_sk_state_change); - mutex_init(&d->lock); - refcount_set(&d->refcnt, 1); - -diff --git a/net/bluetooth/rfcomm/sock.c b/net/bluetooth/rfcomm/sock.c -index 4bf4ea6cbb5eee..4850dafbaa05fb 100644 ---- a/net/bluetooth/rfcomm/sock.c -+++ b/net/bluetooth/rfcomm/sock.c -@@ -61,19 +61,22 @@ static void rfcomm_sk_data_ready(struct rfcomm_dlc *d, struct sk_buff *skb) - rfcomm_dlc_throttle(d); - } - --static void rfcomm_sk_state_change(struct rfcomm_dlc *d, int err) -+void __rfcomm_sk_state_change(struct work_struct *work) - { -+ struct rfcomm_dlc *d = container_of(work, struct rfcomm_dlc, -+ state_change_work); - struct sock *sk = d->owner, *parent; - - if (!sk) - return; - -- BT_DBG("dlc %p state %ld err %d", d, d->state, err); -- - lock_sock(sk); -+ rfcomm_dlc_lock(d); - -- if (err) -- sk->sk_err = err; -+ BT_DBG("dlc %p state %ld err %d", d, d->state, d->err); -+ -+ if (d->err) -+ sk->sk_err = d->err; - - sk->sk_state = d->state; - -@@ -91,15 +94,22 @@ static void rfcomm_sk_state_change(struct rfcomm_dlc *d, int err) - sk->sk_state_change(sk); - } - -+ rfcomm_dlc_unlock(d); - release_sock(sk); -+ sock_put(sk); -+} - -- if (parent && sock_flag(sk, SOCK_ZAPPED)) { -- /* We have to drop DLC lock here, otherwise -- * rfcomm_sock_destruct() will dead lock. */ -- rfcomm_dlc_unlock(d); -- rfcomm_sock_kill(sk); -- rfcomm_dlc_lock(d); -- } -+static void rfcomm_sk_state_change(struct rfcomm_dlc *d, int err) -+{ -+ struct sock *sk = d->owner; -+ -+ if (!sk) -+ return; -+ -+ d->err = err; -+ sock_hold(sk); -+ if (!schedule_work(&d->state_change_work)) -+ sock_put(sk); - } - - /* ---- Socket functions ---- */ diff --git a/fb23dad87a0bfb6fdfde3dc1d18104da631d050a.patch b/0103-soundwire_intel_Initialize_clock_stop_timeout.patch index d7d2fdac6c70..4cbec78e10dd 100644 --- a/fb23dad87a0bfb6fdfde3dc1d18104da631d050a.patch +++ b/0103-soundwire_intel_Initialize_clock_stop_timeout.patch @@ -1,4 +1,4 @@ -From fb23dad87a0bfb6fdfde3dc1d18104da631d050a Mon Sep 17 00:00:00 2001 +From f4e799545c0fc46a5899853f60776adc8671776c Mon Sep 17 00:00:00 2001 From: Sjoerd Simons <sjoerd@collabora.com> Date: Sat, 8 Oct 2022 21:57:51 +0200 Subject: [PATCH] soundwire: intel: Initialize clock stop timeout @@ -27,9 +27,8 @@ index af6c1a93372d90..002bc26b525e87 100644 +++ b/drivers/soundwire/intel.c @@ -1307,6 +1307,7 @@ static int intel_link_probe(struct auxiliary_device *auxdev, cdns->msg_count = 0; - + bus->link_id = auxdev->id; + bus->clk_stop_timeout = 1; - + sdw_cdns_probe(cdns); - diff --git a/64ebb671ffc4cbfd548e4f1b4aeb98155fd386dc.patch b/0104-drm_sched_add_DRM_SCHED_FENCE_DONT_PIPELINE_flag.patch index 484056fc5592..3374b7ebac9e 100644 --- a/64ebb671ffc4cbfd548e4f1b4aeb98155fd386dc.patch +++ b/0104-drm_sched_add_DRM_SCHED_FENCE_DONT_PIPELINE_flag.patch @@ -1,4 +1,4 @@ -From 64ebb671ffc4cbfd548e4f1b4aeb98155fd386dc Mon Sep 17 00:00:00 2001 + From 87336625589872206597baab173ae6014ddf1750 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com> Date: Fri, 7 Oct 2022 09:51:13 +0200 Subject: [PATCH] drm/sched: add DRM_SCHED_FENCE_DONT_PIPELINE flag @@ -22,12 +22,12 @@ index 6b25b2f4f5a308..6137537aaea4df 100644 +++ b/drivers/gpu/drm/scheduler/sched_entity.c @@ -385,7 +385,8 @@ static bool drm_sched_entity_add_dependency_cb(struct drm_sched_entity *entity) } - + s_fence = to_drm_sched_fence(fence); - if (s_fence && s_fence->sched == sched) { + if (s_fence && s_fence->sched == sched && + !test_bit(DRM_SCHED_FENCE_DONT_PIPELINE, &fence->flags)) { - + /* * Fence is from the same scheduler, only need to wait for diff --git a/include/drm/gpu_scheduler.h b/include/drm/gpu_scheduler.h @@ -35,9 +35,9 @@ index addb135eeea622..289a33e8063978 100644 --- a/include/drm/gpu_scheduler.h +++ b/include/drm/gpu_scheduler.h @@ -32,6 +32,15 @@ - + #define MAX_WAIT_SCHED_ENTITY_Q_EMPTY msecs_to_jiffies(1000) - + +/** + * DRM_SCHED_FENCE_DONT_PIPELINE - Prefent dependency pipelining + * @@ -48,5 +48,5 @@ index addb135eeea622..289a33e8063978 100644 +#define DRM_SCHED_FENCE_DONT_PIPELINE DMA_FENCE_FLAG_USER_BITS + struct drm_gem_object; - + struct drm_gpu_scheduler; diff --git a/a24b69f369c6c55be8ce40427feb4e127afae129.patch b/0105-drm_amdgpu_use_DRM_SCHED_FENCE_DONT_PIPELINE_for_VM_updates.patch index d3ea43144350..85a53aad1b2f 100644 --- a/a24b69f369c6c55be8ce40427feb4e127afae129.patch +++ b/0105-drm_amdgpu_use_DRM_SCHED_FENCE_DONT_PIPELINE_for_VM_updates.patch @@ -1,4 +1,4 @@ -From a24b69f369c6c55be8ce40427feb4e127afae129 Mon Sep 17 00:00:00 2001 +From 2b078fa1fdcbd43a042ff49ad70f6ab2a22dffb3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com> Date: Fri, 7 Oct 2022 10:59:58 +0200 Subject: [PATCH] drm/amdgpu: use DRM_SCHED_FENCE_DONT_PIPELINE for VM updates @@ -21,7 +21,7 @@ index 718db7d98e5a30..25ad3c7fa24bea 100644 @@ -115,8 +115,15 @@ static int amdgpu_vm_sdma_commit(struct amdgpu_vm_update_params *p, amdgpu_bo_fence(p->vm->root.bo, f, true); } - + - if (fence && !p->immediate) + if (fence && !p->immediate) { + /* @@ -34,4 +34,3 @@ index 718db7d98e5a30..25ad3c7fa24bea 100644 + } dma_fence_put(f); return 0; - diff --git a/6df3912f64cea68409b08d282ffbccf0af7f8d8e.patch b/6df3912f64cea68409b08d282ffbccf0af7f8d8e.patch deleted file mode 100644 index bb2b445a489b..000000000000 --- a/6df3912f64cea68409b08d282ffbccf0af7f8d8e.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 6df3912f64cea68409b08d282ffbccf0af7f8d8e Mon Sep 17 00:00:00 2001 -From: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com> -Date: Mon, 17 Oct 2022 13:15:21 -0700 -Subject: [PATCH] drm/amdgpu: Fix for BO move issue - -If there are no blocks to compare then exit -the loop. - -Signed-off-by: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com> ---- - drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c -index 794062ab57fca4..9e6c23266a1a0f 100644 ---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c -+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c -@@ -439,6 +439,9 @@ static bool amdgpu_mem_visible(struct amdgpu_device *adev, - while (cursor.remaining) { - amdgpu_res_next(&cursor, cursor.size); - -+ if (!cursor.remaining) -+ break; -+ - /* ttm_resource_ioremap only supports contiguous memory */ - if (end != cursor.start) - return false; diff --git a/785699dbc7041b99e0027bff27ffe17eba202e96.patch b/785699dbc7041b99e0027bff27ffe17eba202e96.patch deleted file mode 100644 index f11da7b31d53..000000000000 --- a/785699dbc7041b99e0027bff27ffe17eba202e96.patch +++ /dev/null @@ -1,65 +0,0 @@ -From 785699dbc7041b99e0027bff27ffe17eba202e96 Mon Sep 17 00:00:00 2001 -From: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com> -Date: Tue, 4 Oct 2022 07:33:39 -0700 -Subject: [PATCH] drm/amdgpu: Fix VRAM BO swap issue -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -DRM buddy manager allocates the contiguous memory requests in -a single block or multiple blocks. So for the ttm move operation -(incase of low vram memory) we should consider all the blocks to -compute the total memory size which compared with the struct -ttm_resource num_pages in order to verify that the blocks are -contiguous for the eviction process. - -v2: Added a Fixes tag -v3: Rewrite the code to save a bit of calculations and - variables (Christian) - -Fixes: c9cad937c0c5 ("drm/amdgpu: add drm buddy support to amdgpu") -Signed-off-by: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com> -Reviewed-by: Christian König <christian.koenig@amd.com> -Signed-off-by: Alex Deucher <alexander.deucher@amd.com> ---- - drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 17 ++++++++++++----- - 1 file changed, 12 insertions(+), 5 deletions(-) - -diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c -index 134575a3893c53..794062ab57fca4 100644 ---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c -+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c -@@ -424,8 +424,9 @@ static int amdgpu_move_blit(struct ttm_buffer_object *bo, - static bool amdgpu_mem_visible(struct amdgpu_device *adev, - struct ttm_resource *mem) - { -- uint64_t mem_size = (u64)mem->num_pages << PAGE_SHIFT; -+ u64 mem_size = (u64)mem->num_pages << PAGE_SHIFT; - struct amdgpu_res_cursor cursor; -+ u64 end; - - if (mem->mem_type == TTM_PL_SYSTEM || - mem->mem_type == TTM_PL_TT) -@@ -434,12 +435,18 @@ static bool amdgpu_mem_visible(struct amdgpu_device *adev, - return false; - - amdgpu_res_first(mem, 0, mem_size, &cursor); -+ end = cursor.start + cursor.size; -+ while (cursor.remaining) { -+ amdgpu_res_next(&cursor, cursor.size); - -- /* ttm_resource_ioremap only supports contiguous memory */ -- if (cursor.size != mem_size) -- return false; -+ /* ttm_resource_ioremap only supports contiguous memory */ -+ if (end != cursor.start) -+ return false; -+ -+ end = cursor.start + cursor.size; -+ } - -- return cursor.start + cursor.size <= adev->gmc.visible_vram_size; -+ return end <= adev->gmc.visible_vram_size; - } - - /* @@ -12,8 +12,8 @@ pkgbase=linux-jcore pkgname=('linux-jcore' 'linux-jcore-headers') _kernelname=-jcore _hostname=jcore -pkgver=6.0.6 -pkgrel=2 +pkgver=6.0.7 +pkgrel=1 pkgdesc="Kernel for Manjaro/Arch (ACS override patch include)" arch=('x86_64') url="https://www.kernel.org/" @@ -27,12 +27,9 @@ source=("https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-$pkgver.tar.xz" # ARCH Patches '0101-ZEN_Add_sysctl_and_CONFIG_to_disallow_unprivileged_CLONE_NEWUSER.patch' '0102-mm_vmscan_fix_extreme_overreclaim_and_swap_floods.patch' - '0103-Bluetooth_fix_deadlock_for_RFCOMM_sk_state_change.patch' - 'fb23dad87a0bfb6fdfde3dc1d18104da631d050a.patch' - '64ebb671ffc4cbfd548e4f1b4aeb98155fd386dc.patch' - 'a24b69f369c6c55be8ce40427feb4e127afae129.patch' - '785699dbc7041b99e0027bff27ffe17eba202e96.patch' - '6df3912f64cea68409b08d282ffbccf0af7f8d8e.patch' + '0103-soundwire_intel_Initialize_clock_stop_timeout.patch' + '0104-drm_sched_add_DRM_SCHED_FENCE_DONT_PIPELINE_flag.patch' + '0105-drm_amdgpu_use_DRM_SCHED_FENCE_DONT_PIPELINE_for_VM_updates.patch' # MANJARO Patches # Bootsplash @@ -54,16 +51,13 @@ source=("https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-$pkgver.tar.xz" '0413-bootsplash.gitpatch' # ACS override patch '0999-acs.gitpatch') -sha256sums=('864b05af2d869ba73d61a9c5959e4531a141ab2bd7b217483671f625f9747faa' - '00b243b5be38077d073074099b46afcd4b9b0e63a54f490284c4d9c522ac3fc4' +sha256sums=('67dacc2b78605a56e997f4c08d009be87c98ec66f1870220226c8b3cc676590f' + 'd9f5c5959ea6fc4601a1fd78c00982bb5bf873e904f140559ccb7359097ee194' '05f04019d4a2ee072238c32860fa80d673687d84d78ef436ae9332b6fb788467' 'a75d2a2322c8cd99a6dc9945424fd9006e7a8f9d2793c0ae97ef931f2d54b9a5' - 'a8a2d8b402b2877df1a949a106c634b6c366dd33b954c4b735ce1d3778214169' - '6c84ff721c3ef0561f532c92cf0096d9adb7e12414bc1fc80b0824e47a863213' - '86ab8a9821ea7300ff7f7c9d64cf54f6662ae4609097fff3795e548f3181d603' - '664890dff8196b0ddf14c6c698dedc4b14251e353bfae2b4fd68e3c487ab3dd6' - 'ad6fb3d449ded539840cc2dc5e12ecbc9563a68b3054bc93dd302f4ab58d7ca2' - '232ed297c6535e90f51e02449de236297bb2df6d3d159a8cfb78eccb08e68dbe' + '5a72a4163937bc588d6a8ed6320e610f6512376b7aa20c4ada5c0ae09cdcd525' + '8ecbe2fdd40c1accc4e7ccd687c319938c18f5adf056ff314c7702775347adf9' + '11b7c141c218d6c026a29aed5ba3c3322343ae677155a6dccf622c151eb1b1aa' '2b11905b63b05b25807dd64757c779da74dd4c37e36d3f7a46485b1ee5a9d326' '94a8538251ad148f1025cc3de446ce64f73dc32b01815426fb159c722e8fa5bc' '8e5c147591d14300a59ed8354a9d0746cf78650256558b45f964ca76eaed9a9f' @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 6.0.6-2 Kernel Configuration +# Linux/x86 6.0.7-1 Kernel Configuration # CONFIG_CC_VERSION_TEXT="gcc (GCC) 12.2.0" CONFIG_CC_IS_GCC=y |