summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@linux.dev>2023-10-24 21:46:58 +0300
committerKent Overstreet <kent.overstreet@linux.dev>2023-10-31 04:48:22 +0300
commitee526b88caaa4b4182144bf2576af2c3b1e9c759 (patch)
treed25c1a6b69d86c8a7ed518334dbcc13a842b37e4 /scripts
parent2bce6368c46b835a133f7f4946eea9c4513828dd (diff)
downloadlinux-ee526b88caaa4b4182144bf2576af2c3b1e9c759.tar.xz
closures: Fix race in closure_sync()
As pointed out by Linus, closure_sync() was racy; we could skip blocking immediately after a get() and a put(), but then that would skip any barrier corresponding to the other thread's put() barrier. To fix this, always do the full __closure_sync() sequence whenever any get() has happened and the closure might have been used by other threads. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'scripts')
0 files changed, 0 insertions, 0 deletions