lkml.org 
[lkml]   [2002]   [Apr]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: Bug: Discontigmem virt_to_page() [Alpha,ARM,Mips64?]
    Date
    On Friday 26 April 2002 20:27, Russell King wrote:
    > Hi,
    >
    > I've been looking at some of the ARM discontigmem implementations, and
    > have come across a nasty bug. To illustrate this, I'm going to take
    > part of the generic kernel, and use the Alpha implementation to
    > illustrate the problem we're facing on ARM.
    >
    > I'm going to argue here that virt_to_page() can, in the discontigmem
    > case, produce rather a nasty bug when used with non-direct mapped
    > kernel memory arguments.

    It's tough to follow, even when you know the code. While cooking my
    config_nonlinear patch I noticed the line you're concerned about and
    regarded it with deep suspicion. My patch does this:

    - page = virt_to_page(__va(phys_addr));
    + page = phys_to_page(phys_addr);

    And of course took care that phys_to_page does the right thing in all
    cases.

    <plug>
    The new config_nonlinear was designed as a cleaner, more powerful
    replacement for all non-numa uses of config_discontigmem.
    </plug>

    --
    Daniel
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-03-22 13:25    [W:4.055 / U:0.504 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site