]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - mm/page-writeback.c
writeback: laptop_mode_timer_fn() needs rcu_read_lock() around bdi_writeback iteration
[karo-tx-linux.git] / mm / page-writeback.c
index 0a931cdd4f6baaa96cdfab2e0dd668c0abef8809..902e5f215e57ec61d120dc213c1e2fac5400df0b 100644 (file)
@@ -1965,10 +1965,12 @@ void laptop_mode_timer_fn(unsigned long data)
        if (!bdi_has_dirty_io(&q->backing_dev_info))
                return;
 
+       rcu_read_lock();
        bdi_for_each_wb(wb, &q->backing_dev_info, &iter, 0)
                if (wb_has_dirty_io(wb))
                        wb_start_writeback(wb, nr_pages, true,
                                           WB_REASON_LAPTOP_TIMER);
+       rcu_read_unlock();
 }
 
 /*