All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@lst.de>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Christoph Hellwig <hch@lst.de>,
	Martin Radev <martin.b.radev@gmail.com>,
	m.szyprowski@samsung.com, robin.murphy@arm.com,
	iommu@lists.linux-foundation.org, linux-kernel@vger.kernel.org,
	joro@8bytes.org, kirill.shutemov@linux.intel.com,
	thomas.lendacky@amd.com, robert.buhren@sect.tu-berlin.de,
	file@sect.tu-berlin.de, mathias.morbitzer@aisec.fraunhofer.de,
	virtualization@lists.linux-foundation.org, kvm@vger.kernel.org
Subject: Re: [PATCH] swiotlb: Validate bounce size in the sync/unmap path
Date: Fri, 5 Feb 2021 18:58:52 +0100	[thread overview]
Message-ID: <20210205175852.GA1021@lst.de> (raw)
In-Reply-To: <20210203193638.GA325136@fedora>

On Wed, Feb 03, 2021 at 02:36:38PM -0500, Konrad Rzeszutek Wilk wrote:
> > So what?  If you guys want to provide a new capability you'll have to do
> > work.  And designing a new protocol based around the fact that the
> > hardware/hypervisor is not trusted and a copy is always required makes
> > a lot of more sense than throwing in band aids all over the place.
> 
> If you don't trust the hypervisor, what would this capability be in?

Well, they don't trust the hypervisor to not attack the guest somehow,
except through the data read.  I never really understood the concept,
as it leaves too many holes.

But the point is that these schemes want to force bounce buffering
because they think it is more secure.  And if that is what you want
you better have protocol build around the fact that each I/O needs
to use bounce buffers, so you make those buffers the actual shared
memory use for communication, and build the protocol around it.
E.g. you don't force the ridiculous NVMe PRP offset rules on the block
layer, just to make a complicated swiotlb allocation that needs to
preserve the alignment just do I/O.  But instead you have a trivial
ring buffer or whatever because you know I/O will be copied anyway
and none of all the hard work higher layers do to make the I/O suitable
for a normal device apply.

WARNING: multiple messages have this Message-ID (diff)
From: Christoph Hellwig <hch@lst.de>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Martin Radev <martin.b.radev@gmail.com>,
	thomas.lendacky@amd.com, file@sect.tu-berlin.de,
	robert.buhren@sect.tu-berlin.de, kvm@vger.kernel.org,
	mathias.morbitzer@aisec.fraunhofer.de,
	linux-kernel@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	iommu@lists.linux-foundation.org, robin.murphy@arm.com,
	Christoph Hellwig <hch@lst.de>,
	kirill.shutemov@linux.intel.com
Subject: Re: [PATCH] swiotlb: Validate bounce size in the sync/unmap path
Date: Fri, 5 Feb 2021 18:58:52 +0100	[thread overview]
Message-ID: <20210205175852.GA1021@lst.de> (raw)
In-Reply-To: <20210203193638.GA325136@fedora>

On Wed, Feb 03, 2021 at 02:36:38PM -0500, Konrad Rzeszutek Wilk wrote:
> > So what?  If you guys want to provide a new capability you'll have to do
> > work.  And designing a new protocol based around the fact that the
> > hardware/hypervisor is not trusted and a copy is always required makes
> > a lot of more sense than throwing in band aids all over the place.
> 
> If you don't trust the hypervisor, what would this capability be in?

Well, they don't trust the hypervisor to not attack the guest somehow,
except through the data read.  I never really understood the concept,
as it leaves too many holes.

But the point is that these schemes want to force bounce buffering
because they think it is more secure.  And if that is what you want
you better have protocol build around the fact that each I/O needs
to use bounce buffers, so you make those buffers the actual shared
memory use for communication, and build the protocol around it.
E.g. you don't force the ridiculous NVMe PRP offset rules on the block
layer, just to make a complicated swiotlb allocation that needs to
preserve the alignment just do I/O.  But instead you have a trivial
ring buffer or whatever because you know I/O will be copied anyway
and none of all the hard work higher layers do to make the I/O suitable
for a normal device apply.
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

WARNING: multiple messages have this Message-ID (diff)
From: Christoph Hellwig <hch@lst.de>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Martin Radev <martin.b.radev@gmail.com>,
	thomas.lendacky@amd.com, file@sect.tu-berlin.de,
	robert.buhren@sect.tu-berlin.de, kvm@vger.kernel.org,
	mathias.morbitzer@aisec.fraunhofer.de, joro@8bytes.org,
	linux-kernel@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	iommu@lists.linux-foundation.org, robin.murphy@arm.com,
	Christoph Hellwig <hch@lst.de>,
	kirill.shutemov@linux.intel.com, m.szyprowski@samsung.com
Subject: Re: [PATCH] swiotlb: Validate bounce size in the sync/unmap path
Date: Fri, 5 Feb 2021 18:58:52 +0100	[thread overview]
Message-ID: <20210205175852.GA1021@lst.de> (raw)
In-Reply-To: <20210203193638.GA325136@fedora>

On Wed, Feb 03, 2021 at 02:36:38PM -0500, Konrad Rzeszutek Wilk wrote:
> > So what?  If you guys want to provide a new capability you'll have to do
> > work.  And designing a new protocol based around the fact that the
> > hardware/hypervisor is not trusted and a copy is always required makes
> > a lot of more sense than throwing in band aids all over the place.
> 
> If you don't trust the hypervisor, what would this capability be in?

Well, they don't trust the hypervisor to not attack the guest somehow,
except through the data read.  I never really understood the concept,
as it leaves too many holes.

But the point is that these schemes want to force bounce buffering
because they think it is more secure.  And if that is what you want
you better have protocol build around the fact that each I/O needs
to use bounce buffers, so you make those buffers the actual shared
memory use for communication, and build the protocol around it.
E.g. you don't force the ridiculous NVMe PRP offset rules on the block
layer, just to make a complicated swiotlb allocation that needs to
preserve the alignment just do I/O.  But instead you have a trivial
ring buffer or whatever because you know I/O will be copied anyway
and none of all the hard work higher layers do to make the I/O suitable
for a normal device apply.
_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

  reply	other threads:[~2021-02-05 18:02 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-12 15:07 [PATCH] swiotlb: Validate bounce size in the sync/unmap path Martin Radev
2021-01-12 15:07 ` Martin Radev
2021-01-13 11:30 ` Christoph Hellwig
2021-01-13 11:30   ` Christoph Hellwig
2021-01-13 11:30   ` Christoph Hellwig
2021-01-18 11:44   ` Martin Radev
2021-01-18 11:44     ` Martin Radev
2021-01-18 15:14     ` Konrad Rzeszutek Wilk
2021-01-18 15:14       ` Konrad Rzeszutek Wilk
2021-01-18 15:14       ` Konrad Rzeszutek Wilk
2021-01-25 18:33       ` Martin Radev
2021-01-25 18:33         ` Martin Radev
2021-02-02 16:37         ` Konrad Rzeszutek Wilk
2021-02-02 16:37           ` Konrad Rzeszutek Wilk
2021-02-02 16:37           ` Konrad Rzeszutek Wilk
2021-02-02 22:34           ` Tom Lendacky
2021-02-02 22:34             ` Tom Lendacky
2021-02-02 22:34             ` Tom Lendacky
2021-02-02 23:13             ` Konrad Rzeszutek Wilk
2021-02-02 23:13               ` Konrad Rzeszutek Wilk
2021-02-02 23:13               ` Konrad Rzeszutek Wilk
2021-02-03 12:49     ` Christoph Hellwig
2021-02-03 12:49       ` Christoph Hellwig
2021-02-03 12:49       ` Christoph Hellwig
2021-02-03 19:36       ` Konrad Rzeszutek Wilk
2021-02-03 19:36         ` Konrad Rzeszutek Wilk
2021-02-03 19:36         ` Konrad Rzeszutek Wilk
2021-02-05 17:58         ` Christoph Hellwig [this message]
2021-02-05 17:58           ` Christoph Hellwig
2021-02-05 17:58           ` Christoph Hellwig
2021-02-08 17:14           ` Konrad Rzeszutek Wilk
2021-02-08 17:14             ` Konrad Rzeszutek Wilk
2021-02-08 17:14             ` Konrad Rzeszutek Wilk
2021-02-09  8:26             ` Christoph Hellwig
2021-02-09  8:26               ` Christoph Hellwig
2021-02-09  8:26               ` Christoph Hellwig

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=20210205175852.GA1021@lst.de \
    --to=hch@lst.de \
    --cc=file@sect.tu-berlin.de \
    --cc=iommu@lists.linux-foundation.org \
    --cc=joro@8bytes.org \
    --cc=kirill.shutemov@linux.intel.com \
    --cc=konrad.wilk@oracle.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=m.szyprowski@samsung.com \
    --cc=martin.b.radev@gmail.com \
    --cc=mathias.morbitzer@aisec.fraunhofer.de \
    --cc=robert.buhren@sect.tu-berlin.de \
    --cc=robin.murphy@arm.com \
    --cc=thomas.lendacky@amd.com \
    --cc=virtualization@lists.linux-foundation.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 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.