Re: [Xen-devel] [PATCH 2/2] x86: add pte_set_flags/clear_flags forpteflag manipulation

From: Jan Beulich
Date: Mon Jan 26 2009 - 02:51:02 EST


>>> Jeremy Fitzhardinge <jeremy@xxxxxxxx> 23.01.09 22:05 >>>
>Jan Beulich wrote:
>> I think a comment (or event a BUG_ON()) should be added here to make
>> clear that this absolutely must not be used to toggle the present bit. I
>> even view toggling _PAGE_PSE as dangerous this way.
>>
>> And alternative would be to make these macros and #undef them (or keep
>> them inline functions but add destructive #define-s) after all their users.
>>
>
>I don't see any particular problem with changing PSE or even Present
>with these functions; they don't operate on live in-memory ptes, so its
>not like they could ever be used to modify a pte unless followed with
>some kind of set_pte operation. It is unwise to change any pte flag
>without knowing what you're doing (though P or PSE would probably have
>less subtle effects than some of the others).

Whether a pte is live doesn't matter here: If you change P on Xen, the
frame number representation *must* change from/to PFN to/from MFN.
In no case (other than iomem pages) is it allowed to flip just this bit.

Jan

--
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/