提交 c94e955c 编写于 作者: H Hongchen Zhang

mm/swapops: make is_pmd_migration_entry more strict

mainline inclusion
from mainline-v5.19-rc1
commit b304c6f0
category: feature
bugzilla: https://gitee.com/openeuler/kernel/issues/I5OHOB
CVE: NA

--------------------------------

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
Link: https://lkml.kernel.org/r/1651131333-6386-1-git-send-email-zhanghongchen@loongson.cnSigned-off-by: NHongchen Zhang <zhanghongchen@loongson.cn>
Acked-by: NPeter 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: NAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: NHuacai Chen <chenhuacai@loongson.cn>
上级 c5539f53
...@@ -281,7 +281,7 @@ static inline pmd_t swp_entry_to_pmd(swp_entry_t entry) ...@@ -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) 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 #else
static inline void set_pmd_migration_entry(struct page_vma_mapped_walk *pvmw, static inline void set_pmd_migration_entry(struct page_vma_mapped_walk *pvmw,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册