X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=fs%2Fbuffer.c;h=c615387aedcae8bd9e94fbc3faef44a2bbb2496b;hb=36b6dcbc1245a3b4dd6bc5cc6b0284c9f05cdddc;hp=ab7573d72dd7a2b8b97c18ef00d31f51b98051e1;hpb=c6460daea23dcd160f2dc497c64b4c882ea1de69;p=platform%2Fkernel%2Flinux-starfive.git diff --git a/fs/buffer.c b/fs/buffer.c index ab7573d..c615387 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(); }