diff options
author | Tejun Heo <tj@kernel.org> | 2015-10-13 22:14:19 (GMT) |
---|---|---|
committer | Jens Axboe <axboe@fb.com> | 2015-10-21 14:17:29 (GMT) |
commit | e27c5b9d23168cc2cb8fec147ae7ed1f7a2005c3 (patch) | |
tree | d7ed4b0682df716b85b14e09e3da6337b2ee9f1d /net | |
parent | 0dfc70c33409afc232ef0b9ec210535dfbf9bc61 (diff) | |
download | linux-e27c5b9d23168cc2cb8fec147ae7ed1f7a2005c3.tar.xz |
writeback: remove broken rbtree_postorder_for_each_entry_safe() usage in cgwb_bdi_destroy()
a20135ffbc44 ("writeback: don't drain bdi_writeback_congested on bdi
destruction") added rbtree_postorder_for_each_entry_safe() which is
used to remove all entries; however, according to Cody, the iterator
isn't safe against operations which may rebalance the tree. Fix it by
switching to repeatedly removing rb_first() until empty.
Signed-off-by: Tejun Heo <tj@kernel.org>
Reported-by: Cody P Schafer <dev@codyps.com>
Fixes: a20135ffbc44 ("writeback: don't drain bdi_writeback_congested on bdi destruction")
Link: http://lkml.kernel.org/g/1443997973-1700-1-git-send-email-dev@codyps.com
Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'net')
0 files changed, 0 insertions, 0 deletions