diff options
author | Daniel Hillenbrand <codeworkx@cyanogenmod.org> | 2013-06-04 01:33:22 +0200 |
---|---|---|
committer | Daniel Hillenbrand <codeworkx@cyanogenmod.org> | 2013-06-04 12:54:26 +0200 |
commit | 55bb2048feb59f2190f704c2a4df81b557b55c7a (patch) | |
tree | cbb680a60770fb762e5b27c502ad71c2366bf604 /mm | |
parent | 3d8b293a4f5042cd9fdc4009a40f6483371cd489 (diff) | |
download | kernel_samsung_smdk4412-55bb2048feb59f2190f704c2a4df81b557b55c7a.zip kernel_samsung_smdk4412-55bb2048feb59f2190f704c2a4df81b557b55c7a.tar.gz kernel_samsung_smdk4412-55bb2048feb59f2190f704c2a4df81b557b55c7a.tar.bz2 |
smdk4412: bulk update from i9300 update 9
Change-Id: Icd3e7b601f3f4c8b3dcf053fed5819fb7caf5296
Diffstat (limited to 'mm')
-rw-r--r-- | mm/cma.c | 8 | ||||
-rw-r--r-- | mm/page_alloc-cma.c | 2 |
2 files changed, 8 insertions, 2 deletions
@@ -284,9 +284,15 @@ bool cma_is_registered_region(phys_addr_t start, size_t size) { struct cma_region *reg; + if (start + size <= start) + return false; + cma_foreach_region(reg) { if ((start >= reg->start) && - ((start + size) <= (reg->start + reg->size))) + ((start + size) <= (reg->start + reg->size)) && + (size <= reg->size) && + (start < (reg->start + reg->size))) + return true; } return false; diff --git a/mm/page_alloc-cma.c b/mm/page_alloc-cma.c index 74cdf7d..fc675bd 100644 --- a/mm/page_alloc-cma.c +++ b/mm/page_alloc-cma.c @@ -6057,7 +6057,7 @@ static int __alloc_contig_migrate_range(unsigned long start, unsigned long end) failed_pages[i][j] = NULL; } - migrate_prep_local(); + migrate_prep(); while (pfn < end || !list_empty(&cc.migratepages)) { if (fatal_signal_pending(current)) { |