diff options
| author | Jakub Kicinski <kuba@kernel.org> | 2024-07-11 12:57:57 -0700 |
|---|---|---|
| committer | Jakub Kicinski <kuba@kernel.org> | 2024-07-11 12:58:13 -0700 |
| commit | 7c8267275de6989a9b682a07d75e89395457ee01 (patch) | |
| tree | db28c44520d9f786a4142871b42eb80f0d205ddd /fs/bcachefs/debug.c | |
| parent | a6a9fcb10836105e525ccb8bc1a6af4b20a113be (diff) | |
| parent | 51df8e0cbaefd432f7029dde94e6c7e4e5b19465 (diff) | |
| download | linux-7c8267275de6989a9b682a07d75e89395457ee01.tar.gz linux-7c8267275de6989a9b682a07d75e89395457ee01.tar.bz2 linux-7c8267275de6989a9b682a07d75e89395457ee01.zip | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Cross-merge networking fixes after downstream PR.
Conflicts:
net/sched/act_ct.c
26488172b029 ("net/sched: Fix UAF when resolving a clash")
3abbd7ed8b76 ("act_ct: prepare for stolen verdict coming from conntrack and nat engine")
No adjacent changes.
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'fs/bcachefs/debug.c')
| -rw-r--r-- | fs/bcachefs/debug.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/fs/bcachefs/debug.c b/fs/bcachefs/debug.c index f0d4727c4dc2..ebabab171fe5 100644 --- a/fs/bcachefs/debug.c +++ b/fs/bcachefs/debug.c @@ -610,7 +610,7 @@ restart: list_sort(&c->btree_trans_list, list_ptr_order_cmp); list_for_each_entry(trans, &c->btree_trans_list, list) { - if ((ulong) trans < i->iter) + if ((ulong) trans <= i->iter) continue; i->iter = (ulong) trans; @@ -832,16 +832,16 @@ static const struct file_operations btree_transaction_stats_op = { static void btree_deadlock_to_text(struct printbuf *out, struct bch_fs *c) { struct btree_trans *trans; - pid_t iter = 0; + ulong iter = 0; restart: seqmutex_lock(&c->btree_trans_lock); - list_for_each_entry(trans, &c->btree_trans_list, list) { - struct task_struct *task = READ_ONCE(trans->locking_wait.task); + list_sort(&c->btree_trans_list, list_ptr_order_cmp); - if (!task || task->pid <= iter) + list_for_each_entry(trans, &c->btree_trans_list, list) { + if ((ulong) trans <= iter) continue; - iter = task->pid; + iter = (ulong) trans; if (!closure_get_not_zero(&trans->ref)) continue; |
