12 Oct, 2007

1 commit


27 Aug, 2007

2 commits


17 Jul, 2007

1 commit

  • Kill pte_rdprotect(), pte_exprotect(), pte_mkread(), pte_mkexec(), pte_read(),
    pte_exec(), and pte_user() except where arch-specific code is making use of
    them.

    Signed-off-by: Jan Beulich
    Cc: Andi Kleen
    Cc: Christoph Hellwig
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jan Beulich
     

09 May, 2007

1 commit

  • Most architectures defined three macros, MK_IOSPACE_PFN(), GET_IOSPACE()
    and GET_PFN() in pgtable.h. However, the only callers of any of these
    macros are in Sparc specific code, either in arch/sparc, arch/sparc64 or
    drivers/sbus.

    This patch removes the redundant macros from all architectures except
    sparc and sparc64.

    Signed-off-by: David Gibson
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Gibson
     

25 Mar, 2007

1 commit

  • This patch fixes two places where we used plain 'x - PAGE_OFFSET' to
    achieve virtual to physical address convertions. This type of convertion
    is no more allowed since commit 6f284a2ce7b8bc49cb8455b1763357897a899abb.

    Reported-by: Maxime Bizon
    Signed-off-by: Franck Bui-Huu

    [Build fixes for machines that don't use the generic dma-coherence.h]

    Signed-off-by: Ralf Baechle

    Franck Bui-Huu
     

31 Jan, 2007

1 commit

  • Nick Piggin points out that page accounting on MIPS multiple ZERO_PAGEs
    is not maintained by its move_pte, and could lead to freeing a ZERO_PAGE.

    Instead of complicating that move_pte, just forget the minor optimization
    when mremapping, and change the one thing which needed it for correctness
    - filemap_xip use ZERO_PAGE(0) throughout instead of according to address.

    [ "There is no block device driver one could use for XIP on mips
    platforms" - Carsten Otte ]

    Signed-off-by: Hugh Dickins
    Cc: Nick Piggin
    Cc: Andrew Morton
    Cc: Ralf Baechle
    Cc: Carsten Otte
    Signed-off-by: Linus Torvalds

    Hugh Dickins
     

30 Nov, 2006

1 commit

  • __pa() was used by virt_to_page() and virt_addr_valid(). These
    latter are used when kernel is initialised so __pa() is not
    appropriate, we use virt_to_phys() instead.

    Futhermore __pa() is going to take care of CKSEG0/XKPHYS
    address mix for 64 bit kernels. This makes __pa() more complex
    than virt_to_phys() and this extra work is not needed by
    virt_to_page() and virt_addr_valid().

    Eventually it consolidates virt_to_phys() prototype by making
    its argument 'const'. this avoids some warnings that was due
    to some virt_to_page() usages which pass const pointer.

    Signed-off-by: Franck Bui-Huu
    Signed-off-by: Ralf Baechle

    Franck Bui-Huu
     

26 Sep, 2006

1 commit

  • One of the changes necessary for shared page tables is to standardize the
    pxx_page macros. pte_page and pmd_page have always returned the struct
    page associated with their entry, while pte_page_kernel and pmd_page_kernel
    have returned the kernel virtual address. pud_page and pgd_page, on the
    other hand, return the kernel virtual address.

    Shared page tables needs pud_page and pgd_page to return the actual page
    structures. There are very few actual users of these functions, so it is
    simple to standardize their usage.

    Since this is basic cleanup, I am submitting these changes as a standalone
    patch. Per Hugh Dickins' comments about it, I am also changing the
    pxx_page_kernel macros to pxx_page_vaddr to clarify their meaning.

    Signed-off-by: Dave McCracken
    Cc: Hugh Dickins
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dave McCracken
     

21 Jun, 2006

1 commit

  • * git://git.infradead.org/hdrcleanup-2.6: (63 commits)
    [S390] __FD_foo definitions.
    Switch to __s32 types in joystick.h instead of C99 types for consistency.
    Add to headers included for userspace in
    Move inclusion of out of user scope in asm-x86_64/mtrr.h
    Remove struct fddi_statistics from user view in
    Move user-visible parts of drivers/s390/crypto/z90crypt.h to include/asm-s390
    Revert include/media changes: Mauro says those ioctls are only used in-kernel(!)
    Include and use __uXX types in
    Use __uXX types in , include too
    Remove private struct dx_hash_info from public view in
    Include and use __uXX types in
    Use __uXX types in for struct divert_blk et al.
    Use __u32 for elf_addr_t in , not u32. It's user-visible.
    Remove PPP_FCS from user view in , remove __P mess entirely
    Use __uXX types in user-visible structures in
    Don't use 'u32' in user-visible struct ip_conntrack_old_tuple.
    Use __uXX types for S390 DASD volume label definitions which are user-visible
    S390 BIODASDREADCMB ioctl should use __u64 not u64 type.
    Remove unneeded inclusion of from
    Fix private integer types used in V4L2 ioctls.
    ...

    Manually resolve conflict in include/linux/mtd/physmap.h

    Linus Torvalds
     

20 Jun, 2006

1 commit

  • kern_addr_valid is currently only being used in kmem_ptr_validate which
    is making some vague attempt at verfying the validity of an address.
    Only IA-64, PARISC and x86-64 actually make some actual effort to verify
    the validity of the pointer. Most architecture definitions of
    kern_addr_valid() just define it as 1; the Alpha and CONFIG_DISCONTIGMEM
    on i386 and MIPS even as 0; the 0-definition will result in
    kmem_ptr_validate always failing which in turn will cause d_validate to
    always fail. d_validate's only two users are smbfs and ncpfs, so the
    0 definition ended breaking those ...

    Signed-off-by: Ralf Baechle

    Ralf Baechle
     

06 Jun, 2006

1 commit


03 Jun, 2006

1 commit


02 Jun, 2006

1 commit

  • If we move a mapping from one virtual address to another,
    and this changes the virtual color of the mapping to those
    pages, we can see corrupt data due to D-cache aliasing.

    Check for and deal with this by overriding the move_pte()
    macro. Set things up so that other platforms can cleanly
    override the move_pte() macro too.

    Signed-off-by: David S. Miller

    David S. Miller
     

01 Jun, 2006

1 commit

  • In case of CONFIG_64BIT_PHYS_ADDR, set_pte() and pte_clear() functions
    only set _PAGE_GLOBAL bit in the pte_low field of the buddy PTEs,
    forgetting to propagate ito to pte_high. Thus, the both pages might not
    really be made global for the CPU (since it AND's the G-bit of the
    odd / even PTEs together to decide whether they're global or not). Thus,
    if only a single page is allocated via vmalloc() or ioremap(), it's not
    really global for CPU (and it must be, since this is kernel mapping),
    and thus its ASID is compared against the current process' one -- so,
    we'll get into trouble sooner or later... Also, pte_none() will fail
    on global pages because _PAGE_GLOBAL bit is set in both pte_low and
    pte_high, and pte_val() will return u64 value consisting of those fields
    concateneted.

    Signed-off-by: Sergei Shtylyov
    Signed-off-by: Ralf Baechle

    Sergei Shtylyov
     

26 Apr, 2006

1 commit


07 Nov, 2005

1 commit

  • Fix more include file problems that surfaced since I submitted the previous
    fix-missing-includes.patch. This should now allow not to include sched.h
    from module.h, which is done by a followup patch.

    Signed-off-by: Tim Schmielau
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Tim Schmielau
     

31 Oct, 2005

1 commit

  • This patch removes page_pte_prot and page_pte macros from all
    architectures. Some architectures define both, some only page_pte (broken)
    and others none. These macros are not used anywhere.

    page_pte_prot(page, prot) is identical to mk_pte(page, prot) and
    page_pte(page) is identical to page_pte_prot(page, __pgprot(0)).

    * The following architectures define both page_pte_prot and page_pte

    arm, arm26, ia64, sh64, sparc, sparc64

    * The following architectures define only page_pte (broken)

    frv, i386, m32r, mips, sh, x86-64

    * All other architectures define neither

    Signed-off-by: Tejun Heo
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Tejun Heo
     

30 Oct, 2005

4 commits


28 Sep, 2005

1 commit

  • Move the ZERO_PAGE remapping complexity to the move_pte macro in
    asm-generic, have it conditionally depend on
    __HAVE_ARCH_MULTIPLE_ZERO_PAGE, which gets defined for MIPS.

    For architectures without __HAVE_ARCH_MULTIPLE_ZERO_PAGE, move_pte becomes
    a noop.

    From: Hugh Dickins

    Fix nasty little bug we've missed in Nick's mremap move ZERO_PAGE patch.
    The "pte" at that point may be a swap entry or a pte_file entry: we must
    check pte_present before perhaps corrupting such an entry.

    Patch below against 2.6.14-rc2-mm1, but the same bug is in 2.6.14-rc2's
    mm/mremap.c, and more dangerous there since it's affecting all arches: I
    think the safest course is to send Nick's patch and Yoichi's build fix and
    this fix (build tested) on to Linus - so only MIPS can be affected.

    Signed-off-by: Nick Piggin
    Signed-off-by: Hugh Dickins
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nick Piggin
     

13 Sep, 2005

1 commit


05 Sep, 2005

1 commit


26 Jun, 2005

1 commit


17 Apr, 2005

1 commit

  • 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!

    Linus Torvalds