Hello Sergej, On 04/07/16 12:45, Sergej Proskurin wrote:
+static inline +int p2m_set_altp2m_mem_access(struct domain *d, struct p2m_domain *hp2m, + struct p2m_domain *ap2m, p2m_access_t a, + gfn_t gfn) +{
[...]
+ /* Set mem access attributes - currently supporting only one (4K) page. */ + mask = level_masks[3]; + return apply_p2m_changes(d, ap2m, INSERT, + gpa & mask, + (gpa + level_sizes[level]) & mask, + maddr & mask, mattr, 0, p2mt, a);
The operation INSERT will remove the previous mapping and decrease page reference for foreign mapping (see p2m_put_l3_page). So if you set the memory access for this kind of page, the reference count will be wrong afterward.
-- Julien Grall _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org https://lists.xen.org/xen-devel