On 20/01/2023 1:10 pm, Jan Beulich wrote:
> On 20.01.2023 12:45, Andrew Cooper wrote:
>> This is a global variable (actually 3, one per GUEST_PAGING_LEVEL), operated
>> on using atomics only (with no regard to what else shares the same 
>> cacheline),
>> which emits a diagnostic (in debug builds only) without changing any program
>> behaviour.
>>
>> Based on read-only p2m types including logdirty, this diagnostic can be
>> tripped by entirely legitimate guest behaviour.
> Can it? At the very least shadow doesn't use p2m_ram_logdirty, but "cooks"
> log-dirty handling its own way.
>
>> Signed-off-by: Andrew Cooper <[email protected]>
> Acked-by: Jan Beulich <[email protected]>

Thanks.

> with the last sentence above corrected (if need be: removed).

I can remove it, but I feel as if there ought to be something there.

The other RO types are ram_ro, grant_map_ro and ram_shared.  shared has
hopefully been unshared before getting to this point, while the other
two have unclear semantics (as neither exist in real systems).

Writing to something which is actually a ROM either does silent discard,
or #MC.

Read-only grants really ought to #PF, but I bet this ABI change between
PV and HVM guests wasn't noticed because I'm not aware of any common
uses of read-only grants.

~Andrew

Reply via email to