vmscan: promote shared file mapped pages
[firefly-linux-kernel-4.4.55.git] / mm / filemap_xip.c
index 93356cd12828a40eb4d635a9e0e0bea3d6ba0790..dee94297f3924f63808c2f20dca42c6d99ba0f32 100644 (file)
@@ -263,7 +263,12 @@ found:
                                                        xip_pfn);
                if (err == -ENOMEM)
                        return VM_FAULT_OOM;
-               BUG_ON(err);
+               /*
+                * err == -EBUSY is fine, we've raced against another thread
+                * that faulted-in the same page
+                */
+               if (err != -EBUSY)
+                       BUG_ON(err);
                return VM_FAULT_NOPAGE;
        } else {
                int err, ret = VM_FAULT_OOM;