diff --git a/mm/memory.c b/mm/memory.c index 8132787ae4d509d475ed6a77705076ddfee30630..8adb5b75626462a26dcf4019e0b7725d2a844b64 100644 --- a/mm/memory.c +++ b/mm/memory.c @@ -1876,7 +1876,9 @@ int apply_to_page_range(struct mm_struct *mm, unsigned long addr, unsigned long end = addr + size; int err; - BUG_ON(addr >= end); + if (WARN_ON(addr >= end)) + return -EINVAL; + pgd = pgd_offset(mm, addr); do { next = pgd_addr_end(addr, end);