mm/huge_memory.c: warn with pr_warn_ratelimited instead of VM_WARN_ON_ONCE_FOLIO
commit4737edbbdd
upstream. split_huge_page_to_list() WARNs when called for huge zero pages, which sounds to me too harsh because it does not imply a kernel bug, but just notifies the event to admins. On the other hand, this is considered as critical by syzkaller and makes its testing less efficient, which seems to me harmful. So replace the VM_WARN_ON_ONCE_FOLIO with pr_warn_ratelimited. Link: https://lkml.kernel.org/r/20230406082004.2185420-1-naoya.horiguchi@linux.dev Fixes:478d134e95
("mm/huge_memory: do not overkill when splitting huge_zero_page") Signed-off-by: Naoya Horiguchi <naoya.horiguchi@nec.com> Reported-by: syzbot+07a218429c8d19b1fb25@syzkaller.appspotmail.com Link: https://lore.kernel.org/lkml/000000000000a6f34a05e6efcd01@google.com/ Reviewed-by: Yang Shi <shy828301@gmail.com> Cc: Miaohe Lin <linmiaohe@huawei.com> Cc: Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp> Cc: Xu Yu <xuyu@linux.alibaba.com> Cc: <stable@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
519dbe737f
commit
e8a7bdb6f7
|
@ -2655,9 +2655,10 @@ int split_huge_page_to_list(struct page *page, struct list_head *list)
|
|||
VM_BUG_ON_FOLIO(!folio_test_large(folio), folio);
|
||||
|
||||
is_hzp = is_huge_zero_page(&folio->page);
|
||||
VM_WARN_ON_ONCE_FOLIO(is_hzp, folio);
|
||||
if (is_hzp)
|
||||
if (is_hzp) {
|
||||
pr_warn_ratelimited("Called split_huge_page for huge zero page\n");
|
||||
return -EBUSY;
|
||||
}
|
||||
|
||||
if (folio_test_writeback(folio))
|
||||
return -EBUSY;
|
||||
|
|
Loading…
Reference in New Issue