Timur Tabi wrote:
When you say "older", what exactly do you mean? I have different test
that normally fails with just get_user_pages(), but it works with 2.6.9
and above. I haven't been able to get any kernel earlier than 2.6.9 to
compile or boot properly, so I'm having a hard time narrowing down the
actual point when get_user_pages() started working.
I haven't gotten a reply to this question, but I've done my own research, and I think I
found the answer. Using my own test of get_user_pages(), it appears that the fix was
placed in 2.6.7. However, I would like to know specifically what the fix is.
Unfortunately, tracking this stuff down is beyond my understanding of the Linux VM.
Assuming that the fix is in try_to_unmap_one(), the only significant change I see between
2.6.6 and 2.6.7 is the addition of this code:
pgd = pgd_offset(mm, address);
if (!pgd_present(*pgd))
goto out_unlock;
pmd = pmd_offset(pgd, address);
if (!pmd_present(*pmd))
goto out_unlock;
pte = pte_offset_map(pmd, address);
if (!pte_present(*pte))
goto out_unmap;
if (page_to_pfn(page) != pte_pfn(*pte))
goto out_unmap;
Can anyone tell me if this is the actual fix, or at least a major part of the actual fix?
--
Timur Tabi
Staff Software Engineer
[email protected]
One thing a Southern boy will never say is,
"I don't think duct tape will fix it."
-- Ed Smylie, NASA engineer for Apollo 13
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]