From: "Michael S. Tsirkin" <mst@redhat.com> To: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Borislav Petkov <bp@alien8.de>, x86@kernel.org, Bjorn Helgaas <bhelgaas@google.com>, Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>, Andreas Noever <andreas.noever@gmail.com>, Michael Jamet <michael.jamet@intel.com>, Yehezkel Bernat <YehezkelShB@gmail.com>, "Rafael J . Wysocki" <rafael@kernel.org>, Mika Westerberg <mika.westerberg@linux.intel.com>, Jonathan Corbet <corbet@lwn.net>, Jason Wang <jasowang@redhat.com>, Dan Williams <dan.j.williams@intel.com>, Andi Kleen <ak@linux.intel.com>, Kuppuswamy Sathyanarayanan <knsathya@kernel.org>, linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, linux-usb@vger.kernel.org, virtualization@lists.linux-foundation.org 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
WARNING: multiple messages have this Message-ID (diff)
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
next prev parent reply other threads:[~2021-09-30 11:03 UTC|newest] Thread overview: 132+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-09-30 1:05 [PATCH v2 0/6] Add device filter support Kuppuswamy Sathyanarayanan 2021-09-30 1:05 ` [PATCH v2 1/6] driver core: Move the "authorized" attribute from USB/Thunderbolt to core Kuppuswamy Sathyanarayanan 2021-09-30 1:42 ` Alan Stern 2021-09-30 1:42 ` Alan Stern 2021-09-30 1:55 ` Dan Williams 2021-09-30 1:55 ` Dan Williams 2021-09-30 2:38 ` Kuppuswamy, Sathyanarayanan 2021-09-30 4:59 ` Dan Williams 2021-09-30 4:59 ` Dan Williams 2021-09-30 9:05 ` Rafael J. Wysocki 2021-09-30 9:05 ` Rafael J. Wysocki 2021-09-30 14:59 ` Alan Stern 2021-09-30 14:59 ` Alan Stern 2021-09-30 15:25 ` Dan Williams 2021-09-30 15:25 ` Dan Williams 2021-09-30 11:19 ` Yehezkel Bernat 2021-09-30 15:28 ` Dan Williams 2021-09-30 15:28 ` Dan Williams 2021-09-30 18:25 ` Yehezkel Bernat 2021-09-30 19:04 ` Dan Williams 2021-09-30 19:04 ` Dan Williams 2021-09-30 19:50 ` Kuppuswamy, Sathyanarayanan 2021-09-30 20:23 ` Dan Williams 2021-09-30 20:23 ` Dan Williams 2021-09-30 1:05 ` [PATCH v2 2/6] driver core: Add common support to skip probe for un-authorized devices Kuppuswamy Sathyanarayanan 2021-09-30 10:59 ` Michael S. Tsirkin 2021-09-30 10:59 ` Michael S. Tsirkin 2021-09-30 13:52 ` Greg Kroah-Hartman 2021-09-30 13:52 ` Greg Kroah-Hartman 2021-09-30 14:38 ` Michael S. Tsirkin 2021-09-30 14:38 ` Michael S. Tsirkin 2021-09-30 14:49 ` Greg Kroah-Hartman 2021-09-30 14:49 ` Greg Kroah-Hartman 2021-09-30 15:00 ` Michael S. Tsirkin 2021-09-30 15:00 ` Michael S. Tsirkin 2021-09-30 15:22 ` Greg Kroah-Hartman 2021-09-30 15:22 ` Greg Kroah-Hartman 2021-09-30 17:17 ` Andi Kleen 2021-09-30 17:17 ` Andi Kleen 2021-09-30 17:23 ` Greg Kroah-Hartman 2021-09-30 17:23 ` Greg Kroah-Hartman 2021-09-30 19:15 ` Andi Kleen 2021-09-30 19:15 ` Andi Kleen 2021-10-01 6:29 ` Greg Kroah-Hartman 2021-10-01 6:29 ` Greg Kroah-Hartman 2021-10-01 15:51 ` Alan Stern 2021-10-01 15:51 ` Alan Stern 2021-10-01 15:56 ` Andi Kleen 2021-10-01 15:56 ` Andi Kleen 2021-09-30 14:43 ` Alan Stern 2021-09-30 14:43 ` Alan Stern 2021-09-30 14:48 ` Michael S. Tsirkin 2021-09-30 14:48 ` Michael S. Tsirkin 2021-09-30 15:32 ` Alan Stern 2021-09-30 15:32 ` Alan Stern 2021-09-30 15:52 ` Michael S. Tsirkin 2021-09-30 15:52 ` Michael S. Tsirkin 2021-09-30 14:58 ` Michael S. Tsirkin 2021-09-30 14:58 ` Michael S. Tsirkin 2021-09-30 15:35 ` Alan Stern 2021-09-30 15:35 ` Alan Stern 2021-09-30 15:59 ` Michael S. Tsirkin 2021-09-30 15:59 ` Michael S. Tsirkin 2021-09-30 19:23 ` Andi Kleen 2021-09-30 19:23 ` Andi Kleen 2021-09-30 20:44 ` Alan Stern 2021-09-30 20:44 ` Alan Stern 2021-09-30 20:52 ` Dan Williams 2021-09-30 20:52 ` Dan Williams 2021-10-01 1:41 ` Alan Stern 2021-10-01 1:41 ` Alan Stern 2021-10-01 2:20 ` Dan Williams 2021-10-01 2:20 ` Dan Williams 2021-09-30 21:12 ` Andi Kleen 2021-09-30 21:12 ` Andi Kleen 2021-09-30 1:05 ` [PATCH v2 3/6] driver core: Allow arch to initialize the authorized attribute Kuppuswamy Sathyanarayanan 2021-09-30 1:05 ` [PATCH v2 4/6] virtio: Initialize authorized attribute for confidential guest Kuppuswamy Sathyanarayanan 2021-09-30 11:03 ` Michael S. Tsirkin [this message] 2021-09-30 11:03 ` Michael S. Tsirkin 2021-09-30 13:36 ` Dan Williams 2021-09-30 13:36 ` Dan Williams 2021-09-30 13:49 ` Greg Kroah-Hartman 2021-09-30 13:49 ` Greg Kroah-Hartman 2021-09-30 15:18 ` Kuppuswamy, Sathyanarayanan 2021-09-30 15:20 ` Michael S. Tsirkin 2021-09-30 15:20 ` Michael S. Tsirkin 2021-09-30 15:23 ` Kuppuswamy, Sathyanarayanan 2021-09-30 15:23 ` Greg Kroah-Hartman 2021-09-30 15:23 ` Greg Kroah-Hartman 2021-09-30 19:04 ` Kuppuswamy, Sathyanarayanan 2021-09-30 19:16 ` Kuppuswamy, Sathyanarayanan 2021-09-30 19:30 ` Andi Kleen 2021-09-30 19:30 ` Andi Kleen 2021-09-30 19:40 ` Kuppuswamy, Sathyanarayanan 2021-10-01 7:03 ` Greg Kroah-Hartman 2021-10-01 7:03 ` Greg Kroah-Hartman 2021-10-01 15:49 ` Andi Kleen 2021-10-01 15:49 ` Andi Kleen 2021-10-02 11:04 ` Michael S. Tsirkin 2021-10-02 11:04 ` Michael S. Tsirkin 2021-10-02 11:14 ` Greg Kroah-Hartman 2021-10-02 11:14 ` Greg Kroah-Hartman 2021-10-02 14:20 ` Andi Kleen 2021-10-02 14:20 ` Andi Kleen 2021-10-02 14:44 ` Greg Kroah-Hartman 2021-10-02 14:44 ` Greg Kroah-Hartman 2021-10-02 18:40 ` Michael S. Tsirkin 2021-10-02 18:40 ` Michael S. Tsirkin 2021-10-03 6:40 ` Greg Kroah-Hartman 2021-10-03 6:40 ` Greg Kroah-Hartman 2021-10-04 21:04 ` Dan Williams 2021-10-04 21:04 ` Dan Williams 2021-10-01 16:13 ` Dan Williams 2021-10-01 16:13 ` Dan Williams 2021-10-01 16:45 ` Alan Stern 2021-10-01 16:45 ` Alan Stern 2021-10-01 18:09 ` Dan Williams 2021-10-01 18:09 ` Dan Williams 2021-10-01 19:00 ` Alan Stern 2021-10-01 19:00 ` Alan Stern 2021-10-01 19:45 ` Kuppuswamy, Sathyanarayanan 2021-10-01 19:57 ` Dan Williams 2021-10-01 19:57 ` Dan Williams 2021-10-04 5:16 ` Mika Westerberg 2021-10-05 22:33 ` Dan Williams 2021-10-05 22:33 ` Dan Williams 2021-10-06 5:45 ` Greg Kroah-Hartman 2021-10-06 5:45 ` Greg Kroah-Hartman 2021-09-30 19:25 ` Andi Kleen 2021-09-30 19:25 ` Andi Kleen 2021-09-30 1:05 ` [PATCH v2 5/6] x86/tdx: Add device filter support for x86 TDX guest platform Kuppuswamy Sathyanarayanan 2021-09-30 1:05 ` [PATCH v2 6/6] PCI: Initialize authorized attribute for confidential guest Kuppuswamy Sathyanarayanan
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=jasowang@redhat.com \ --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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.