[parisc-linux] memory management issues

Ollie Wild aaw at google.com
Wed May 2 17:52:18 MDT 2007


> Give me more of a clue on this one ... afterwards *who* sees the pages
> as zero'd?  The user or the kernel ... if the user, I think it's a
> simple coherency problem.

Ah, I should have been more clear.  I scattered a bunch of code
similar to this throughout the kernel:

  {
    struct page *page;
    char * addr;

    get_user_pages(current, bprm->mm, bprm->p, 1, 0, 1, &page, NULL);
    addr = kmap(page);
    printk("page = %p, bprm->p = %016lx\n", page, bprm->p);
    printk("%s: %d: \"%s\"\n", __FUNCTION__, __LINE__, addr);
    kunmap(page);
    put_page(page);
  }

I observed that after the activate_mm() call, page and bprm->p were
unchanged, but the string at addr switched from the executable name to
the null string.

I thought that caching might play a role, so I added
flush_dcache_page() calls after the kunmap's, but that didn't help.

Ollie



More information about the parisc-linux mailing list