[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [PATCH 16/17] VT-d: show permissions during page table walks


  • To: Jan Beulich <jbeulich@xxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: "Tian, Kevin" <kevin.tian@xxxxxxxxx>
  • Date: Thu, 16 Sep 2021 07:36:02 +0000
  • Accept-language: en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=YAMzS/7IF+dEZEaR1J3XvF85uPgjy1S6Ax1BxFc0brU=; b=RAgSDnIcOWHBmWkNAoKQN+ZUck4/Wjxzjau+WFN6cir6VRzhddohMDFGn4Cr0L26ENFHtaZR3oFrXmgI69EsRTQEBfGen6yTmz/R/gOGw68ik8o07xQQk81Dv2dkjKR2kYllzyrxh0/E4eYO/KvN4cOJXm4cGfF/ScizubW2fbSURDRzzoeXxn3VVYRj+8hxtQOrCGwVHBGU5tNbnsHmeoa0WQlV1WlrW+D8kcgqoWBvXsvFBeWRQvXdID5ojhUNier7LPfLqVLNM0J3i1rZAO5xTNj1Q5WJ9CjufUdI/TPcvy6eW7ZXj5765bm4h4lR3W6mpPQXtPvH/293H75QLQ==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eJHwkzcNfTgAidpnW5CmJQpxtUIGAzRfjbGg9GTPl2lmzfRvVeYAokJHg5Cy9r77TR+fDlHCypq3siWBfVII8X4lFlSFdGis7tw+QmiZlVTjEZVP6D2CMqMkMsFR/c34VdHpsB3prCCwiYNJZCrELwZleiFAeEAJc+/8ALUn+cJfqp2PRhTVn1XP3agofhBjjpcEVUJjgha1p05IrV325kFX+EHR6vtOxXDyBbR0Ye14l/o0IVa0rM3o8Zwh+N/tJQ5okAC9ngSa7jPf3WRrePb+CmLvbl1fWDxVEnEpQrwGV2F/GDJ3y5u+O4vJ32LlxOoTGObZww8nCaGIFlY4gQ==
  • Authentication-results: suse.com; dkim=none (message not signed) header.d=none;suse.com; dmarc=none action=none header.from=intel.com;
  • Cc: "Cooper, Andrew" <andrew.cooper3@xxxxxxxxxx>, Paul Durrant <paul@xxxxxxx>
  • Delivery-date: Thu, 16 Sep 2021 07:36:12 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Thread-index: AQHXmPQslV7KSBUtgUWpDvTxqV2qqqumaQDw
  • Thread-topic: [PATCH 16/17] VT-d: show permissions during page table walks

> From: Jan Beulich <jbeulich@xxxxxxxx>
> Sent: Tuesday, August 24, 2021 10:27 PM
> 
> Besides the addresses this is the next crucial bit of information one
> might be after.
> 
> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>

Reviewed-by: Kevin Tian <kevin.tian@xxxxxxxxx>

> 
> --- a/xen/drivers/passthrough/vtd/iommu.c
> +++ b/xen/drivers/passthrough/vtd/iommu.c
> @@ -2822,10 +2822,12 @@ static void vtd_dump_page_table_level(pa
>              vtd_dump_page_table_level(dma_pte_addr(*pte), next_level,
>                                        address, indent + 1);
>          else
> -            printk("%*sdfn: %08lx mfn: %08lx\n",
> +            printk("%*sdfn: %08lx mfn: %08lx %c%c\n",
>                     indent, "",
>                     (unsigned long)(address >> PAGE_SHIFT_4K),
> -                   (unsigned long)(dma_pte_addr(*pte) >> PAGE_SHIFT_4K));
> +                   (unsigned long)(dma_pte_addr(*pte) >> PAGE_SHIFT_4K),
> +                   dma_pte_read(*pte) ? 'r' : '-',
> +                   dma_pte_write(*pte) ? 'w' : '-');
>      }
> 
>      unmap_vtd_domain_page(pt_vaddr);
> --- a/xen/drivers/passthrough/vtd/utils.c
> +++ b/xen/drivers/passthrough/vtd/utils.c
> @@ -159,14 +159,11 @@ void print_vtd_entries(struct vtd_iommu
>          l_index = get_level_index(gmfn, level);
>          pte.val = l[l_index];
>          unmap_vtd_domain_page(l);
> -        printk("    l%u[%03x] = %"PRIx64"\n", level, l_index, pte.val);
> +        printk("    l%u[%03x] = %"PRIx64" %c%c\n", level, l_index, pte.val,
> +               dma_pte_read(pte) ? 'r' : '-',
> +               dma_pte_write(pte) ? 'w' : '-');
> 
> -        if ( !dma_pte_present(pte) )
> -        {
> -            printk("    l%u[%03x] not present\n", level, l_index);
> -            break;
> -        }
> -        if ( dma_pte_superpage(pte) )
> +        if ( !dma_pte_present(pte) || dma_pte_superpage(pte) )
>              break;
>          val = dma_pte_addr(pte);
>      } while ( --level );


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.