Commit:     6d3154cc1143f62c3b80d9929caeaec6db8cb451
Parent:     a8b3485287731978899ced11f24628c927890e78
Author:     Linus Torvalds <[EMAIL PROTECTED]>
AuthorDate: Mon Jan 22 08:53:24 2007 -0800
Committer:  Linus Torvalds <[EMAIL PROTECTED]>
CommitDate: Mon Jan 22 08:53:24 2007 -0800

    Revert "[PATCH] Fix up mmap_kmem"
    This reverts commit 99a10a60ba9bedcf5d70ef81414d3e03816afa3f.
    As per Hugh Dickins:
      "Nadia Derbey has reported that mmap of /dev/kmem no longer works with
       the kernel virtual address as offset, and Franck has confirmed that
       his patch came from a misunderstanding of what an offset means to
       /dev/kmem - whereas his patch description seems to say that he was
       correcting the offset on a few plaforms, there was no such problem to
       correct, and his patch was in fact changing its API on all platforms."
    Suggested-by: Hugh Dickins <[EMAIL PROTECTED]>
    Cc: Franck Bui-Huu <[EMAIL PROTECTED]>
    Cc: Nadia Derbey <[EMAIL PROTECTED]>
    Cc: Andi Kleen <[EMAIL PROTECTED]>
    Cc: Arjan van de Ven <[EMAIL PROTECTED]>
    Cc: Andrew Morton <[EMAIL PROTECTED]>
    Signed-off-by: Linus Torvalds <[EMAIL PROTECTED]>
 drivers/char/mem.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/char/mem.c b/drivers/char/mem.c
index 4f1813e..f5c160c 100644
--- a/drivers/char/mem.c
+++ b/drivers/char/mem.c
@@ -293,8 +293,8 @@ static int mmap_kmem(struct file * file, struct 
vm_area_struct * vma)
        unsigned long pfn;
-       /* Turn a pfn offset into an absolute pfn */
-       pfn = PFN_DOWN(virt_to_phys((void *)PAGE_OFFSET)) + vma->vm_pgoff;
+       /* Turn a kernel-virtual address into a physical page frame */
+       pfn = __pa((u64)vma->vm_pgoff << PAGE_SHIFT) >> PAGE_SHIFT;
         * RED-PEN: on some architectures there is more mapped memory
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at

Reply via email to