Re: [rfc][patch] mm: dirty page accounting race fix

From: Peter Zijlstra
Date: Thu Aug 14 2008 - 08:18:46 EST


On Thu, 2008-08-14 at 12:55 +0100, Hugh Dickins wrote:

> But I got a bit distracted: mprotect's change_pte_range is
> traditionally where the pte_modify operation has been split up into
> stages on some arches, that really can be restricting permissions
> and needs to tread carefully. Now I go to look there, I see its
> /*
> * Avoid taking write faults for pages we know to be
> * dirty.
> */
> if (dirty_accountable && pte_dirty(ptent))
> ptent = pte_mkwrite(ptent);
>
> and get rather worried: isn't that likely to be giving write permission
> to a pte in a vma we are precisely taking write permission away from?

Exactly, we do that because the page is already dirty, therefore we do
not need to trap on write to mark it dirty - at least, that was the idea
behind this optimization.



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