mm/memory_hotplug: document why shuffle_zone() is relevant
[linux-2.6-microblaze.git] / mm / memory.c
index 0da48f6..c39a13b 100644 (file)
@@ -1098,7 +1098,7 @@ again:
                }
 
                entry = pte_to_swp_entry(ptent);
-               if (non_swap_entry(entry) && is_device_private_entry(entry)) {
+               if (is_device_private_entry(entry)) {
                        struct page *page = device_private_entry_to_page(entry);
 
                        if (unlikely(details && details->check_mapping)) {
@@ -2082,7 +2082,7 @@ static inline int remap_p4d_range(struct mm_struct *mm, pgd_t *pgd,
 /**
  * remap_pfn_range - remap kernel memory to userspace
  * @vma: user vma to map to
- * @addr: target user address to start at
+ * @addr: target page aligned user address to start at
  * @pfn: page frame number of kernel physical memory address
  * @size: size of mapping area
  * @prot: page protection flags for this mapping
@@ -2101,6 +2101,9 @@ int remap_pfn_range(struct vm_area_struct *vma, unsigned long addr,
        unsigned long remap_pfn = pfn;
        int err;
 
+       if (WARN_ON_ONCE(!PAGE_ALIGNED(addr)))
+               return -EINVAL;
+
        /*
         * Physically remapped pages are special. Tell the
         * rest of the world about it: