On 2021/7/19 19:22, Matthew Wilcox wrote:
On Mon, Jul 19, 2021 at 07:12:58PM +0800, Miaohe Lin wrote:
When in the commit 2799e77529c2a, we're using the percpu_ref to serialize against concurrent swapoff, i.e. there's percpu_ref inside get_swap_device() instead of rcu_read_lock(). Please see commit 63d8620ecf93 ("mm/swapfile: use percpu_ref to serialize against concurrent swapoff") for detail.
Oh, so this is a backport problem. 2799e77529c2 was backported without its prerequisite 63d8620ecf93. Greg, probably best to just drop
Yes, they're posted as a patch set:
https://lkml.kernel.org/r/20210426123316.806267-1-linmiaohe@huawei.com
2799e77529c2 from all stable trees; the race described is not very important (swapoff vs reading a page back from that swap device). .
The swapoff races with reading a page back from that swap device should be really uncommon as most users only do swapoff when the system is going to shutdown.
Sorry for the trouble!