Commit 86eebefd authored by Kefeng Wang's avatar Kefeng Wang Committed by Zheng Zengkai
Browse files

mm: add cond_resched() in swapin_walk_pmd_entry()

mainline inclusion
from mainline-v6.2-rc1
commit de2e5171
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/I67BWQ
CVE: NA

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=de2e5171433126d340573cb7d0d4fcac084ab2a0

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

When handling MADV_WILLNEED in madvise(), a soflockup may occurr in
swapin_walk_pmd_entry() if swapping in lots of memory on a slow device.
Add a cond_resched() to avoid the possible softlockup.

Link: https://lkml.kernel.org/r/20221205140327.72304-1-wangkefeng.wang@huawei.com


Fixes: 1998cc04 ("mm: make madvise(MADV_WILLNEED) support swap file prefetch")
Signed-off-by: default avatarKefeng Wang <wangkefeng.wang@huawei.com>
Cc: Shaohua Li <shli@fusionio.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: Rik van Riel <riel@redhat.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>

Conflicts:
	mm/madvise.c

Signed-off-by: default avatarLonglong Xia <xialonglong1@huawei.com>
Reviewed-by: default avatarKefeng Wang <wangkefeng.wang@huawei.com>
Signed-off-by: default avatarZheng Zengkai <zhengzengkai@huawei.com>
parent ad3c6b33
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment