On pondělí 19. července 2021 13:50:07 CEST Miaohe Lin wrote: > 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@xxxxxxxxxx > > > 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! git log --oneline v5.13..v5.13.3 --author="Miaohe Lin" 11ebc09e50dc mm/zswap.c: fix two bugs in zswap_writeback_entry() 95d192da198d mm/z3fold: use release_z3fold_page_locked() to release locked z3fold page ccb7848e2344 mm/z3fold: fix potential memory leak in z3fold_destroy_pool() 9f7229c901c1 mm/huge_memory.c: don't discard hugepage if other processes are mapping it f13259175e4f mm/huge_memory.c: add missing read-only THP checking in transparent_hugepage_enabled() afafd371e7de mm/huge_memory.c: remove dedicated macro HPAGE_CACHE_INDEX_MASK a533a21b692f mm/shmem: fix shmem_swapin() race with swapoff c3b39134bbd0 swap: fix do_swap_page() race with swapoff Do you suggest reverting "mm/shmem: fix shmem_swapin() race with swapoff" as well? -- Oleksandr Natalenko (post-factum)