An error occurred fetching the project authors.
  1. 10 Jul, 2007 1 commit
  2. 08 May, 2007 2 commits
  3. 17 Apr, 2007 1 commit
  4. 22 Jan, 2007 1 commit
    • Linus Torvalds's avatar
      Revert "[PATCH] Fix up mmap_kmem" · 6d3154cc
      Linus Torvalds authored
      This reverts commit 99a10a60.
      
      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: default avatarHugh Dickins <hugh@veritas.com>
      Cc: Franck Bui-Huu <fbuihuu@gmail.com>
      Cc: Nadia Derbey <Nadia.Derbey@bull.net>
      Cc: Andi Kleen <ak@suse.de>
      Cc: Arjan van de Ven <arjan@infradead.org>
      Cc: Andrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      6d3154cc
  5. 10 Dec, 2006 1 commit
    • Hugh Dickins's avatar
      [PATCH] read_zero_pagealigned() locking fix · 5fcf7bb7
      Hugh Dickins authored
      Ramiro Voicu hits the BUG_ON(!pte_none(*pte)) in zeromap_pte_range: kernel
      bugzilla 7645.  Right: read_zero_pagealigned uses down_read of mmap_sem,
      but another thread's racing read of /dev/zero, or a normal fault, can
      easily set that pte again, in between zap_page_range and zeromap_page_range
      getting there.  It's been wrong ever since 2.4.3.
      
      The simple fix is to use down_write instead, but that would serialize reads
      of /dev/zero more than at present: perhaps some app would be badly
      affected.  So instead let zeromap_page_range return the error instead of
      BUG_ON, and read_zero_pagealigned break to the slower clear_user loop in
      that case - there's no need to optimize for it.
      
      Use -EEXIST for when a pte is found: BUG_ON in mmap_zero (the other user of
      zeromap_page_range), though it really isn't interesting there.  And since
      mmap_zero wants -EAGAIN for out-of-memory, the zeromaps better return that
      than -ENOMEM.
      Signed-off-by: default avatarHugh Dickins <hugh@veritas.com>
      Cc: Ramiro Voicu: <Ramiro.Voicu@cern.ch>
      Cc: <stable@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      5fcf7bb7
  6. 08 Dec, 2006 1 commit
  7. 01 Dec, 2006 1 commit
  8. 13 Oct, 2006 2 commits
    • Linus Torvalds's avatar
      Include proper header file for PFN_DOWN() · b8a3ad5b
      Linus Torvalds authored
      The recent commit (99a10a60) to fix up
      mmap_kmem() broke compiles because it used PFN_DOWN() without including
      <linux/pfn.h>.
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      b8a3ad5b
    • Franck Bui-Huu's avatar
      [PATCH] Fix up mmap_kmem · 99a10a60
      Franck Bui-Huu authored
      vma->vm_pgoff is an pfn _offset_ relatif to the begining
      of the memory start. The previous code was doing at first:
      
      	vma->vm_pgoff << PAGE_SHIFT
      
      which results into a wrong physical address since some
      platforms have a physical mem start that can be different
      from 0. After that the previous call __pa() on this
      wrong physical address, however __pa() is used to convert
      a _virtual_ address into a physical one.
      
      This patch rewrites this convertion. It calculates the
      pfn of PAGE_OFFSET which is the pfn of the mem start
      then it adds the vma->vm_pgoff to it.
      
      It also uses virt_to_phys() instead of __pa() since the
      latter shouldn't be used by drivers.
      Signed-off-by: default avatarFranck Bui-Huu <fbuihuu@gmail.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      99a10a60
  9. 29 Sep, 2006 1 commit
  10. 27 Sep, 2006 1 commit
  11. 10 Jul, 2006 1 commit
    • Lennert Buytenhek's avatar
      [PATCH] make valid_mmap_phys_addr_range() take a pfn · 06c67bef
      Lennert Buytenhek authored
      Newer ARMs have a 40 bit physical address space, but mapping physical
      memory above 4G needs a special page table format which we (currently?) do
      not use for userspace mappings, so what happens instead is that mapping an
      address >= 4G will happily discard the upper bits and wrap.
      
      There is a valid_mmap_phys_addr_range() arch hook where we could check for
      >= 4G addresses and deny the mapping, but this hook takes an unsigned long
      address:
      
      	static inline int valid_mmap_phys_addr_range(unsigned long addr, size_t size);
      
      And drivers/char/mem.c:mmap_mem() calls it like this:
      
      	static int mmap_mem(struct file * file, struct vm_area_struct * vma)
      	{
      		size_t size = vma->vm_end - vma->vm_start;
      
      		if (!valid_mmap_phys_addr_range(vma->vm_pgoff << PAGE_SHIFT, size))
      
      So that's not much help either.
      
      This patch makes the hook take a pfn instead of a phys address.
      Signed-off-by: default avatarLennert Buytenhek <buytenh@wantstofly.org>
      Cc: Bjorn Helgaas <bjorn.helgaas@hp.com>
      Cc: "Luck, Tony" <tony.luck@intel.com>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      06c67bef
  12. 03 Jul, 2006 1 commit
  13. 30 Jun, 2006 1 commit
  14. 26 Jun, 2006 2 commits
  15. 26 Apr, 2006 1 commit
  16. 28 Mar, 2006 1 commit
  17. 26 Mar, 2006 1 commit
  18. 25 Mar, 2006 1 commit
  19. 12 Jan, 2006 1 commit
  20. 09 Jan, 2006 4 commits
  21. 28 Nov, 2005 1 commit
    • Linus Torvalds's avatar
      mm: re-architect the VM_UNPAGED logic · 6aab341e
      Linus Torvalds authored
      This replaces the (in my opinion horrible) VM_UNMAPPED logic with very
      explicit support for a "remapped page range" aka VM_PFNMAP.  It allows a
      VM area to contain an arbitrary range of page table entries that the VM
      never touches, and never considers to be normal pages.
      
      Any user of "remap_pfn_range()" automatically gets this new
      functionality, and doesn't even have to mark the pages reserved or
      indeed mark them any other way.  It just works.  As a side effect, doing
      mmap() on /dev/mem works for arbitrary ranges.
      
      Sparc update from David in the next commit.
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      6aab341e
  22. 22 Nov, 2005 1 commit
  23. 29 Oct, 2005 1 commit
    • Roland Dreier's avatar
      [PATCH] ppc: make phys_mem_access_prot() work with pfns instead of addresses · 8b150478
      Roland Dreier authored
      Change the phys_mem_access_prot() function to take a pfn instead of an
      address.  This allows mmap64() to work on /dev/mem for addresses above 4G
      on 32-bit architectures.  We start with a pfn in mmap_mem(), so there's no
      need to convert to an address; in fact, it's actively bad, since the
      conversion can overflow when the address is above 4G.
      
      Similarly fix the ppc32 page_is_ram() function to avoid a conversion to an
      address by directly comparing to max_pfn.  Working with max_pfn instead of
      high_memory fixes page_is_ram() to give the right answer for highmem pages.
      Signed-off-by: default avatarRoland Dreier <rolandd@cisco.com>
      Cc: Anton Blanchard <anton@samba.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      8b150478
  24. 28 Oct, 2005 1 commit
  25. 07 Sep, 2005 1 commit
  26. 13 Aug, 2005 1 commit
    • Linus Torvalds's avatar
      Fix up mmap of /dev/kmem · 4bb82551
      Linus Torvalds authored
      This leaves the issue of whether we should deprecate the whole thing (or
      if we should check the whole mmap range, for that matter) open. Just do
      the minimal fix for now.
      4bb82551
  27. 25 Jun, 2005 3 commits
  28. 22 Jun, 2005 1 commit
  29. 20 Jun, 2005 1 commit
  30. 16 Apr, 2005 1 commit
    • Linus Torvalds's avatar
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds authored
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4