blk-cgroup: fix lost wakeup in blkg_destroy_all() - #1122
blk-cgroup: fix lost wakeup in blkg_destroy_all()#1122blktests-ci-kpd[bot] wants to merge 2 commits into
Conversation
|
Upstream branch: d58772d |
29ac21d to
ea2c39d
Compare
|
Upstream branch: f5bbbfe |
206dca5 to
7c58a0f
Compare
ea2c39d to
4082a30
Compare
|
Upstream branch: 3d6d817 |
7c58a0f to
d7a3d7b
Compare
4082a30 to
36bd7eb
Compare
|
Upstream branch: 3aa1dca |
d7a3d7b to
02577f0
Compare
d89ab11 to
fdba928
Compare
|
Upstream branch: fd923b3 |
02577f0 to
d685e46
Compare
fdba928 to
60442a3
Compare
|
Upstream branch: 8d3ae59 |
d685e46 to
0210de8
Compare
60442a3 to
3df366e
Compare
|
Upstream branch: bd5f485 |
0210de8 to
0ef966b
Compare
3df366e to
5dd70cb
Compare
|
Upstream branch: 66498c7 |
0ef966b to
e551be9
Compare
5dd70cb to
055a766
Compare
|
Upstream branch: 502d457 |
e551be9 to
e3d58c0
Compare
055a766 to
341ae8c
Compare
|
Upstream branch: cf72cbb |
e3d58c0 to
7664cb2
Compare
341ae8c to
940e422
Compare
|
Upstream branch: cee9395 |
7664cb2 to
c66a552
Compare
940e422 to
3cab524
Compare
|
Upstream branch: 89a3129 |
c66a552 to
19eb833
Compare
3cab524 to
8242bf1
Compare
|
Upstream branch: bc35965 |
19eb833 to
a36fa87
Compare
8242bf1 to
5b28f57
Compare
|
Upstream branch: df29080 Pull request is NOT updated. Failed to apply https://patchwork.kernel.org/series/1144043/ conflict: |
5b28f57 to
4ddd216
Compare
|
Upstream branch: 28924df |
a36fa87 to
7d56ead
Compare
4ddd216 to
00cc4ca
Compare
wake_up_var() requires a full barrier between making the wait condition true and its lockless waitqueue check. spin_unlock_irq() has only release semantics, so it does not order q->root_blkg = NULL against that check. During disk rebind, blkcg_init_disk() can therefore miss the wakeup and sleep indefinitely. Add the required smp_mb(). Also mark the store with WRITE_ONCE() since the waiter reads root_blkg locklessly with READ_ONCE(). An LKMM model permits the missed-wakeup outcome without the barrier and forbids it with the barrier. Fixes: 3dbaacf ("blk-cgroup: wait for blkcg cleanup before initializing new disk") Cc: stable@vger.kernel.org Assisted-by: Claude:claude-fable-5 Signed-off-by: Karl Mehltretter <kmehltretter@gmail.com>
|
Upstream branch: 893e117 |
7d56ead to
16ececc
Compare
00cc4ca to
7efd8cd
Compare
|
At least one diff in series https://patchwork.kernel.org/series/1144043/ irrelevant now for [{'archived': False, 'project': 241}] search patterns |
Pull request for series with
subject: blk-cgroup: fix lost wakeup in blkg_destroy_all()
version: 1
url: https://patchwork.kernel.org/project/linux-block/list/?series=1144043