aboutsummaryrefslogtreecommitdiffstats
path: root/mm/hugetlb.c
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>2014-10-24 13:18:41 +0300
committerMarek Szyprowski <m.szyprowski@samsung.com>2014-10-27 13:00:54 +0100
commit16195ddd4ebcc10c30b2f232f8e400df8d464380 (patch)
tree7fe365184316ad8211913feeddbf99f457c01318 /mm/hugetlb.c
parentmm: cma: Always consider a 0 base address reservation as dynamic (diff)
downloadlinux-dev-16195ddd4ebcc10c30b2f232f8e400df8d464380.tar.xz
linux-dev-16195ddd4ebcc10c30b2f232f8e400df8d464380.zip
mm: cma: Ensure that reservations never cross the low/high mem boundary
Commit 95b0e655f914 ("ARM: mm: don't limit default CMA region only to low memory") extended CMA memory reservation to allow usage of high memory. It relied on commit f7426b983a6a ("mm: cma: adjust address limit to avoid hitting low/high memory boundary") to ensure that the reserved block never crossed the low/high memory boundary. While the implementation correctly lowered the limit, it failed to consider the case where the base..limit range crossed the low/high memory boundary with enough space on each side to reserve the requested size on either low or high memory. Rework the base and limit adjustment to fix the problem. The function now starts by rejecting the reservation altogether for fixed reservations that cross the boundary, tries to reserve from high memory first and then falls back to low memory. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Diffstat (limited to 'mm/hugetlb.c')
0 files changed, 0 insertions, 0 deletions