Procházet zdrojové kódy

mm/sparse: more checks on mem_section number

__section_nr() was implemented to retrieve the corresponding memory
section number according to its descriptor.  It's possible that the
specified memory section descriptor doesn't exist in the global array.  So
add more checking on that and report an error for a wrong case.

Signed-off-by: Gavin Shan <shangw@linux.vnet.ibm.com>
Acked-by: David Rientjes <rientjes@google.com>
Cc: Michal Hocko <mhocko@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Gavin Shan před 13 roky
rodič
revize
db36a46113
1 změnil soubory, kde provedl 2 přidání a 0 odebrání
  1. 2 0
      mm/sparse.c

+ 2 - 0
mm/sparse.c

@@ -130,6 +130,8 @@ int __section_nr(struct mem_section* ms)
 		     break;
 		     break;
 	}
 	}
 
 
+	VM_BUG_ON(root_nr == NR_SECTION_ROOTS);
+
 	return (root_nr * SECTIONS_PER_ROOT) + (ms - root);
 	return (root_nr * SECTIONS_PER_ROOT) + (ms - root);
 }
 }