summaryrefslogtreecommitdiff
path: root/fs/buffer.c
diff options
context:
space:
mode:
authorWolfram Sang <wsa@kernel.org>2021-10-11 08:15:48 +0200
committerWolfram Sang <wsa@kernel.org>2021-10-11 08:15:48 +0200
commitc5c34f5793f384ed2895584c6e2350b059c3f161 (patch)
tree14a73568207fb3d38d7aa43439493ac8bc906bde /fs/buffer.c
parent669b2e4aa1a869def4dc207ea084fdd77366d646 (diff)
parent64570fbc14f8d7cb3fe3995f20e26bc25ce4b2cc (diff)
Merge branch 'i2c/for-current' into i2c/for-mergewindow
Diffstat (limited to 'fs/buffer.c')
-rw-r--r--fs/buffer.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/fs/buffer.c b/fs/buffer.c
index ab7573d72dd7..c615387aedca 100644
--- a/fs/buffer.c
+++ b/fs/buffer.c
@@ -1425,12 +1425,16 @@ void invalidate_bh_lrus(void)
}
EXPORT_SYMBOL_GPL(invalidate_bh_lrus);
-void invalidate_bh_lrus_cpu(int cpu)
+/*
+ * It's called from workqueue context so we need a bh_lru_lock to close
+ * the race with preemption/irq.
+ */
+void invalidate_bh_lrus_cpu(void)
{
struct bh_lru *b;
bh_lru_lock();
- b = per_cpu_ptr(&bh_lrus, cpu);
+ b = this_cpu_ptr(&bh_lrus);
__invalidate_bh_lrus(b);
bh_lru_unlock();
}