mm/swapops: make is_pmd_migration_entry more strict
ANBZ: #5200
commit b304c6f0d3
upstream
A pmd migration entry should first be a swap pmd,so use is_swap_pmd(pmd)
instead of !pmd_present(pmd).
On the other hand, some architecture (MIPS for example) may misjudge a
pmd_none entry as a pmd migration entry.
Change-Id: I5e4a32f740adca7a8a2c719b6fc5b0d072e0d3e2
Signed-off-by: Hongchen Zhang <zhanghongchen@loongson.cn>
Acked-by: Peter Xu <peterx@redhat.com>
Cc: Alistair Popple <apopple@nvidia.com>
Cc: Ralph Campbell <rcampbell@nvidia.com>
Cc: Naoya Horiguchi <naoya.horiguchi@nec.com>
Cc: Hugh Dickins <hughd@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
Signed-off-by: Juxin Gao <gaojuxin@loongson.cn>
Reviewed-by: Xunlei Pang <xlpang@linux.alibaba.com>
Link: https://gitee.com/anolis/cloud-kernel/pulls/1646
This commit is contained in:
parent
98e4d3373a
commit
0e102828be
|
@ -281,7 +281,7 @@ static inline pmd_t swp_entry_to_pmd(swp_entry_t entry)
|
|||
|
||||
static inline int is_pmd_migration_entry(pmd_t pmd)
|
||||
{
|
||||
return !pmd_present(pmd) && is_migration_entry(pmd_to_swp_entry(pmd));
|
||||
return is_swap_pmd(pmd) && is_migration_entry(pmd_to_swp_entry(pmd));
|
||||
}
|
||||
#else
|
||||
static inline void set_pmd_migration_entry(struct page_vma_mapped_walk *pvmw,
|
||||
|
|
Loading…
Reference in New Issue