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

Re: [PATCH 3/3] hvm/pirq: allow control domains usage of PHYSDEVOP_{un,}map_pirq


  • To: Alex Olson <this.is.a0lson@xxxxxxxxx>
  • From: Jan Beulich <jbeulich@xxxxxxxx>
  • Date: Thu, 3 Mar 2022 17:47:48 +0100
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.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:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=1txL8oqdo3qklpwPLNQCZjr0HvUSAQAWmmZ2cmrh+mY=; b=lbaRJxofXdB92ixVMRPgsduLSm7G2ejqspiqk/bHj6VAw3T/4inbRJODGdN62ToF2dKEuk98JAiKgTasZQ5GvBhGrhFxcG0stxHGAH3g1n3I/IE4w5aYM/9ZM2q/f8Cxu8ySplRD/ZYHzJ7L1TL29TZDaszuNU217mXBP510IpAY3Ta05C3gnc0mDBLHwpaMWblwm/gtU/D/rAt2wxb2QiNTE/0SpvufmPsgE8UBBw4XlXQ5057RJPNLl9WXjRtTHEvnoxLCRLugxUXpCkF0xd6k2ZkzEnRerYKrsq7tLoglVzagcHTB5n4ErONb6WHiLnfxcTWcDuVUp54RRgYPLw==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZNhaOyJYtTehCdrVHWHs1YyMVVoSUQpvdkFImboL7VxqgQxDatboNJoJEPhWcGsXSJwyyxBvb9QhsMYkH1m/xKhdCg2xah2WlY7Ukf1UtAsQMyKlUQKOvs7C288X7RM7mvIzpKWTIln6HGR3F3+YBsAoYGCI6UcQ/aH0E8J2kSPkUE3N6Uq5xaaFU4uWtJWBQiO5PyxzXfqpG02xtSb35/UuGgXaujPHWz2sHXjZO+/XS9RwkRFz/HtQLJUvVE37JvssSA2kNvBYoDgR7Xyja/V8FK5yz3wESFjQjWWteZfPR5XSGRhHsAfMPA93O6pjf4Y6c8rCCMNDp2jGkX6T3g==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com;
  • Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>, Roger Pau Monne <roger.pau@xxxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxxx
  • Delivery-date: Thu, 03 Mar 2022 16:47:58 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 03.03.2022 17:45, Alex Olson wrote:
> --- a/xen/arch/x86/hvm/hypercall.c
> +++ b/xen/arch/x86/hvm/hypercall.c
> @@ -84,6 +84,17 @@ static long hvm_physdev_op(int cmd,
> XEN_GUEST_HANDLE_PARAM(void) arg)
>  
>      switch ( cmd )
>      {
> +
> +    case PHYSDEVOP_manage_pci_add:
> +    case PHYSDEVOP_manage_pci_remove:
> +    case PHYSDEVOP_pci_device_add:
> +    case PHYSDEVOP_pci_device_remove:
> +    case PHYSDEVOP_manage_pci_add_ext:
> +    case PHYSDEVOP_prepare_msix:
> +    case PHYSDEVOP_release_msix:
> +        if ( is_control_domain(currd) )
> +            break;

These are all operations which I think are purposefully permitted to
be invoked by the hardware domain only. That's where all the devices
live when they're not passed through to guests.

Jan




 


Rackspace

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