Merge commit 'upstream/master'
[pandora-kernel.git] / arch / ia64 / kernel / sys_ia64.c
index 9ef62a3..bcbb6d8 100644 (file)
@@ -13,7 +13,6 @@
 #include <linux/shm.h>
 #include <linux/file.h>                /* doh, must come after sched.h... */
 #include <linux/smp.h>
-#include <linux/smp_lock.h>
 #include <linux/syscalls.h>
 #include <linux/highuid.h>
 #include <linux/hugetlb.h>
@@ -33,6 +32,13 @@ arch_get_unmapped_area (struct file *filp, unsigned long addr, unsigned long len
        if (len > RGN_MAP_LIMIT)
                return -ENOMEM;
 
+       /* handle fixed mapping: prevent overlap with huge pages */
+       if (flags & MAP_FIXED) {
+               if (is_hugepage_only_range(mm, addr, len))
+                       return -EINVAL;
+               return addr;
+       }
+
 #ifdef CONFIG_HUGETLB_PAGE
        if (REGION_NUMBER(addr) == RGN_HPAGE)
                addr = 0;
@@ -154,7 +160,7 @@ sys_pipe (void)
        int fd[2];
        int retval;
 
-       retval = do_pipe(fd);
+       retval = do_pipe_flags(fd, 0);
        if (retval)
                goto out;
        retval = fd[0];