virtualization.lists.linux-foundation.org archive mirror
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>
Cc: Jonathan Corbet <corbet@lwn.net>, Andi Kleen <ak@linux.intel.com>,
	"Rafael J . Wysocki" <rafael@kernel.org>,
	Michael Jamet <michael.jamet@intel.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	x86@kernel.org, virtualization@lists.linux-foundation.org,
	Yehezkel Bernat <YehezkelShB@gmail.com>,
	Kuppuswamy Sathyanarayanan <knsathya@kernel.org>,
	linux-kernel@vger.kernel.org,
	Andreas Noever <andreas.noever@gmail.com>,
	Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
	linux-pci@vger.kernel.org, Bjorn Helgaas <bhelgaas@google.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	linux-usb@vger.kernel.org,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	Dan Williams <dan.j.williams@intel.com>
Subject: Re: [PATCH v2 4/6] virtio: Initialize authorized attribute for confidential guest
Date: Thu, 30 Sep 2021 07:03:36 -0400	[thread overview]
Message-ID: <20210930065953-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <20210930010511.3387967-5-sathyanarayanan.kuppuswamy@linux.intel.com>

On Wed, Sep 29, 2021 at 06:05:09PM -0700, Kuppuswamy Sathyanarayanan wrote:
> Confidential guest platforms like TDX have a requirement to allow
> only trusted devices. By default the confidential-guest core will
> arrange for all devices to default to unauthorized (via
> dev_default_authorization) in device_initialize(). Since virtio
> driver is already hardened against the attack from the un-trusted host,
> override the confidential computing default unauthorized state
> 
> Reviewed-by: Dan Williams <dan.j.williams@intel.com>
> Signed-off-by: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>

Architecturally this all looks backwards. IIUC nothing about virtio
makes it authorized or trusted. The driver is hardened,
true, but this should be set at the driver not the device level.
And in particular, not all virtio drivers are hardened -
I think at this point blk and scsi drivers have been hardened - so
treating them all the same looks wrong.

> ---
>  drivers/virtio/virtio.c | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/drivers/virtio/virtio.c b/drivers/virtio/virtio.c
> index 588e02fb91d3..377b0ccdc503 100644
> --- a/drivers/virtio/virtio.c
> +++ b/drivers/virtio/virtio.c
> @@ -5,6 +5,8 @@
>  #include <linux/module.h>
>  #include <linux/idr.h>
>  #include <linux/of.h>
> +#include <linux/cc_platform.h>
> +#include <linux/device.h>
>  #include <uapi/linux/virtio_ids.h>
>  
>  /* Unique numbering for virtio devices. */
> @@ -390,6 +392,13 @@ int register_virtio_device(struct virtio_device *dev)
>  	dev->config_enabled = false;
>  	dev->config_change_pending = false;
>  
> +	/*
> +	 * For Confidential guest (like TDX), virtio devices are
> +	 * trusted. So set authorized status as true.
> +	 */
> +	if (cc_platform_has(CC_ATTR_GUEST_DEVICE_FILTER))
> +		dev->dev.authorized = true;
> +
>  	/* We always start by resetting the device, in case a previous
>  	 * driver messed it up.  This also tests that code path a little. */
>  	dev->config->reset(dev);
> -- 
> 2.25.1

_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

  parent reply	other threads:[~2021-09-30 11:03 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20210930010511.3387967-1-sathyanarayanan.kuppuswamy@linux.intel.com>
     [not found] ` <20210930010511.3387967-2-sathyanarayanan.kuppuswamy@linux.intel.com>
2021-09-30  1:42   ` [PATCH v2 1/6] driver core: Move the "authorized" attribute from USB/Thunderbolt to core Alan Stern
2021-09-30  1:55     ` Dan Williams
     [not found]       ` <f9b7cf97-0a14-1c80-12ab-23213ec2f4f2@linux.intel.com>
2021-09-30  4:59         ` Dan Williams
2021-09-30  9:05           ` Rafael J. Wysocki
2021-09-30 14:59       ` Alan Stern
2021-09-30 15:25         ` Dan Williams
     [not found]   ` <CA+CmpXtXn5wjxwow5va5u9qHcQDLkd4Sh2dcqB545SXaxV1GkQ@mail.gmail.com>
2021-09-30 15:28     ` Dan Williams
     [not found]       ` <CA+CmpXvGCAny-WHGioJQHF9ZZ5pCaR-E_rw5oeE82xC30naVXg@mail.gmail.com>
2021-09-30 19:04         ` Dan Williams
     [not found]           ` <c701ca61-4e7d-1060-102f-8f92dd6e6802@linux.intel.com>
2021-09-30 20:23             ` Dan Williams
     [not found] ` <20210930010511.3387967-3-sathyanarayanan.kuppuswamy@linux.intel.com>
2021-09-30 10:59   ` [PATCH v2 2/6] driver core: Add common support to skip probe for un-authorized devices Michael S. Tsirkin
2021-09-30 13:52     ` Greg Kroah-Hartman
2021-09-30 14:38       ` Michael S. Tsirkin
2021-09-30 14:49         ` Greg Kroah-Hartman
2021-09-30 15:00           ` Michael S. Tsirkin
2021-09-30 15:22             ` Greg Kroah-Hartman
2021-09-30 17:17               ` Andi Kleen
2021-09-30 17:23                 ` Greg Kroah-Hartman
2021-09-30 19:15                   ` Andi Kleen
2021-10-01  6:29                     ` Greg Kroah-Hartman
2021-10-01 15:51                       ` Alan Stern
2021-10-01 15:56                         ` Andi Kleen
2021-09-30 14:43       ` Alan Stern
2021-09-30 14:48         ` Michael S. Tsirkin
2021-09-30 15:32           ` Alan Stern
2021-09-30 15:52             ` Michael S. Tsirkin
2021-09-30 14:58         ` Michael S. Tsirkin
2021-09-30 15:35           ` Alan Stern
2021-09-30 15:59             ` Michael S. Tsirkin
2021-09-30 19:23               ` Andi Kleen
2021-09-30 20:44                 ` Alan Stern
2021-09-30 20:52                   ` Dan Williams
2021-10-01  1:41                     ` Alan Stern
2021-10-01  2:20                       ` Dan Williams
2021-09-30 21:12                   ` Andi Kleen
     [not found] ` <20210930010511.3387967-5-sathyanarayanan.kuppuswamy@linux.intel.com>
2021-09-30 11:03   ` Michael S. Tsirkin [this message]
2021-09-30 13:36     ` [PATCH v2 4/6] virtio: Initialize authorized attribute for confidential guest Dan Williams
2021-09-30 13:49       ` Greg Kroah-Hartman
     [not found]       ` <6d1e2701-5095-d110-3b0a-2697abd0c489@linux.intel.com>
2021-09-30 15:20         ` Michael S. Tsirkin
2021-09-30 15:23         ` Greg Kroah-Hartman
     [not found]           ` <1cfdce51-6bb4-f7af-a86b-5854b6737253@linux.intel.com>
2021-09-30 19:30             ` Andi Kleen
2021-10-01  7:03             ` Greg Kroah-Hartman
2021-10-01 15:49               ` Andi Kleen
2021-10-02 11:04                 ` Michael S. Tsirkin
2021-10-02 11:14                   ` Greg Kroah-Hartman
2021-10-02 14:20                     ` Andi Kleen
2021-10-02 14:44                       ` Greg Kroah-Hartman
2021-10-02 18:40                       ` Michael S. Tsirkin
2021-10-03  6:40                         ` Greg Kroah-Hartman
2021-10-04 21:04                       ` Dan Williams
2021-10-01 16:13               ` Dan Williams
2021-10-01 16:45                 ` Alan Stern
2021-10-01 18:09                   ` Dan Williams
2021-10-01 19:00                     ` Alan Stern
2021-10-01 19:57                       ` Dan Williams
     [not found]                         ` <YVqONA0vhl0/H3QE@lahna>
2021-10-05 22:33                           ` Dan Williams
2021-10-06  5:45                             ` Greg Kroah-Hartman
2021-09-30 19:25         ` Andi Kleen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210930065953-mutt-send-email-mst@kernel.org \
    --to=mst@redhat.com \
    --cc=YehezkelShB@gmail.com \
    --cc=ak@linux.intel.com \
    --cc=andreas.noever@gmail.com \
    --cc=bhelgaas@google.com \
    --cc=bp@alien8.de \
    --cc=corbet@lwn.net \
    --cc=dan.j.williams@intel.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=knsathya@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=michael.jamet@intel.com \
    --cc=mika.westerberg@linux.intel.com \
    --cc=mingo@redhat.com \
    --cc=rafael@kernel.org \
    --cc=sathyanarayanan.kuppuswamy@linux.intel.com \
    --cc=tglx@linutronix.de \
    --cc=virtualization@lists.linux-foundation.org \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).