The VMA address bound checks are applicable to all memory policy modes, not just MPOL_INTERLEAVE. Hence move it to the front and make it common. Signed-off-by: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> --- mm/mempolicy.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/mm/mempolicy.c b/mm/mempolicy.c index 618ab12..7ec6694 100644 --- a/mm/mempolicy.c +++ b/mm/mempolicy.c @@ -2173,6 +2173,8 @@ int mpol_misplaced(struct page *page, struct vm_area_struct *vma, unsigned long int ret = -1; BUG_ON(!vma); + BUG_ON(addr >= vma->vm_end); + BUG_ON(addr < vma->vm_start); pol = get_vma_policy(vma, addr); if (!(pol->flags & MPOL_F_MOF)) @@ -2180,9 +2182,6 @@ int mpol_misplaced(struct page *page, struct vm_area_struct *vma, unsigned long switch (pol->mode) { case MPOL_INTERLEAVE: - BUG_ON(addr >= vma->vm_end); - BUG_ON(addr < vma->vm_start); - pgoff = vma->vm_pgoff; pgoff += (addr - vma->vm_start) >> PAGE_SHIFT; polnid = offset_il_node(pol, vma, pgoff); -- 1.8.5.2 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>