]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/blobdiff - arch/ia64/mm/hugetlbpage.c
get_unmapped_area handles MAP_FIXED on ia64
[mirror_ubuntu-hirsute-kernel.git] / arch / ia64 / mm / hugetlbpage.c
index 0c7e94edc20e9eaf9b30217246bbe5de3bafd191..c7c90f4f42980d98835be1b2ed0d75bf5fd2d17d 100644 (file)
@@ -148,6 +148,14 @@ unsigned long hugetlb_get_unmapped_area(struct file *file, unsigned long addr, u
                return -ENOMEM;
        if (len & ~HPAGE_MASK)
                return -EINVAL;
+
+       /* Handle MAP_FIXED */
+       if (flags & MAP_FIXED) {
+               if (prepare_hugepage_range(addr, len, pgoff))
+                       return -EINVAL;
+               return addr;
+       }
+
        /* This code assumes that RGN_HPAGE != 0. */
        if ((REGION_NUMBER(addr) != RGN_HPAGE) || (addr & (HPAGE_SIZE - 1)))
                addr = HPAGE_REGION_BASE;