lkml.org 
[lkml]   [2023]   [Aug]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRE: [PATCH v4 12/12] iommu/vt-d: Disallow nesting on domains with read-only mappings
Date
> From: Liu, Yi L <yi.l.liu@intel.com>
> Sent: Monday, July 24, 2023 7:14 PM
>
> @@ -2147,6 +2148,18 @@ __domain_mapping(struct dmar_domain
> *domain, unsigned long iov_pfn,
> if ((prot & (DMA_PTE_READ|DMA_PTE_WRITE)) == 0)
> return -EINVAL;
>
> + if (!(prot & DMA_PTE_WRITE) && !domain->read_only_mapped) {
> + spin_lock_irqsave(&domain->lock, flags);
> + if (domain->set_nested) {
> + pr_err_ratelimited("No read-only mapping
> permitted\n");

"Read-only mapping is disallowed on the domain which serves as the
parent in a nested configuration, due to HW errata (ERRATA_772415_SPR17)"

> + u8 read_only_mapped:1; /* domain has mappings with
> read-only
> + * permission.
> + */
> + u8 set_nested:1; /* has other domains nested on it */

what about "is_parent"?

>
> + spin_lock_irqsave(&s2_dmar_domain->lock, flags);
> + if (s2_dmar_domain->read_only_mapped) {
> + spin_unlock_irqrestore(&s2_dmar_domain->lock, flags);
> + pr_err_ratelimited("S2 domain has read-only mappings\n");

"Nested configuration is disallowed when the stage-2 domain already
has read-only mappings, due to HW errata (ERRATA_772415_SPR17)"

\
 
 \ /
  Last update: 2023-08-02 10:01    [W:0.361 / U:0.348 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site