aboutsummaryrefslogtreecommitdiffstats
path: root/mm
diff options
context:
space:
mode:
authorAnshuman Khandual <khandual@linux.vnet.ibm.com>2017-09-08 19:13:32 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2017-09-08 21:26:47 -0400
commit149728e91349f269d6fc82b4ca2552645dfa7d2c (patch)
treee180a774ca09f470d2931c622f1927501874990a /mm
parentb6b1fd2a6bedd533aeed83924d7be0e944fded9f (diff)
mm/mempolicy.c: remove BUG_ON() checks for VMA inside mpol_misplaced()
VMA and its address bounds checks are too late in this function. They must have been verified earlier in the page fault sequence. Hence just remove them. Link: http://lkml.kernel.org/r/20170901130137.7617-1-khandual@linux.vnet.ibm.com Signed-off-by: Anshuman Khandual <khandual@linux.vnet.ibm.com> Suggested-by: Vlastimil Babka <vbabka@suse.cz> Acked-by: Vlastimil Babka <vbabka@suse.cz> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm')
-rw-r--r--mm/mempolicy.c5
1 files changed, 0 insertions, 5 deletions
diff --git a/mm/mempolicy.c b/mm/mempolicy.c
index 1f5db48adc9c..006ba625c0b8 100644
--- a/mm/mempolicy.c
+++ b/mm/mempolicy.c
@@ -2233,17 +2233,12 @@ int mpol_misplaced(struct page *page, struct vm_area_struct *vma, unsigned long
2233 int polnid = -1; 2233 int polnid = -1;
2234 int ret = -1; 2234 int ret = -1;
2235 2235
2236 BUG_ON(!vma);
2237
2238 pol = get_vma_policy(vma, addr); 2236 pol = get_vma_policy(vma, addr);
2239 if (!(pol->flags & MPOL_F_MOF)) 2237 if (!(pol->flags & MPOL_F_MOF))
2240 goto out; 2238 goto out;
2241 2239
2242 switch (pol->mode) { 2240 switch (pol->mode) {
2243 case MPOL_INTERLEAVE: 2241 case MPOL_INTERLEAVE:
2244 BUG_ON(addr >= vma->vm_end);
2245 BUG_ON(addr < vma->vm_start);
2246
2247 pgoff = vma->vm_pgoff; 2242 pgoff = vma->vm_pgoff;
2248 pgoff += (addr - vma->vm_start) >> PAGE_SHIFT; 2243 pgoff += (addr - vma->vm_start) >> PAGE_SHIFT;
2249 polnid = offset_il_node(pol, pgoff); 2244 polnid = offset_il_node(pol, pgoff);