All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Gerd Hoffmann <kraxel@redhat.com>,
	qemu-devel@nongnu.org, Anthony Liguori <anthony@codemonkey.ws>,
	David Gibson <david@gibson.dropbear.id.au>
Subject: Re: [Qemu-devel] [PATCH 04/13] usb-ohci: Use universal DMA helper functions
Date: Thu, 21 Jun 2012 10:33:38 +0300	[thread overview]
Message-ID: <20120621073338.GA31732@redhat.com> (raw)
In-Reply-To: <1340229726.28143.200.camel@pasglop>

On Thu, Jun 21, 2012 at 08:02:06AM +1000, Benjamin Herrenschmidt wrote:
> On Wed, 2012-06-20 at 16:40 -0500, Anthony Liguori wrote:
> 
> > Well let's return void in the DMA methods and let the IOMMUs assert on error. 
> > At least that will avoid surprises until someone decides they care enough about 
> > errors to touch all callers.
> > 
> > I think silently failing a memcpy() can potentially lead to a vulnerability so 
> > I'd rather avoid that.
> 
> No I'd rather keep the error returns, really, even if that means fixing
> a few devices. I can look at making sure we don't pass random qemu data,
> on error that's reasonably easy.
> 
> assert on error means guest code can assert qemu ... not a great idea
> but maybe we can add a warning.

Why not?  Guest can always just halt if it wants to anyway.
On the other hand, warnings can fill up host logs so
represent a security problem.

> > >> Why leave pci accessors and not implement usb_memory_rw() wrappers?
> > >
> > > Well, "usb" is a bit too generic, ehci and ohci would each need to have
> > > their own sets of wrappers. But yes, that's possible... is it really
> > > worth it ? There's nothing fundamentally wrong with using the dma_*
> > > accessors.
> > 
> > So is using the pci accessors wrong?
> 
> Not really either, I don't think it matters :-)
> 
> > I'm not saying you should go and convert every caller of the pci_ functions, I 
> > just want a clear policy on what interface devices should use.
> 
> Ideally the bus interface for the bus they sit on so they don't have to
> bother digging the DMAContext and are immune to change we would do in
> that area.
> 
> Devices that mix multiple bus types however are a bit more tricky, but
> so far are few, and those can use dma_* and know where to get the
> DMAContext from.
> 
> If we ever replace DMAContext with something else we can probably just
> change the field to that "something else" with a very simple
> search/replace on those devices (at least that's the best case :-)
> 
> I think anything else is just no worth bothering.
> 
> Cheers,
> Ben.

  reply	other threads:[~2012-06-21  7:33 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-19  6:39 [Qemu-devel] [PATCH 00/13] iommu series Benjamin Herrenschmidt
2012-06-19  6:39 ` [Qemu-devel] [PATCH 01/13] Better support for dma_addr_t variables Benjamin Herrenschmidt
2012-06-20 21:14   ` Anthony Liguori
2012-06-20 21:29     ` Benjamin Herrenschmidt
2012-06-21  1:44       ` David Gibson
2012-06-20 22:26     ` Peter Maydell
2012-06-20 22:59       ` Anthony Liguori
2012-06-21  7:54         ` Peter Maydell
2012-06-22  1:58     ` Benjamin Herrenschmidt
2012-06-19  6:39 ` [Qemu-devel] [PATCH 02/13] Implement cpu_physical_memory_set() Benjamin Herrenschmidt
2012-06-20 21:15   ` Anthony Liguori
2012-06-20 21:30     ` Benjamin Herrenschmidt
2012-06-20 21:37       ` Anthony Liguori
2012-06-21  1:45     ` David Gibson
2012-06-21  1:46       ` David Gibson
2012-06-21  2:50       ` Benjamin Herrenschmidt
2012-06-22  1:58     ` Benjamin Herrenschmidt
2012-06-19  6:39 ` [Qemu-devel] [PATCH 03/13] iommu: Add universal DMA helper functions Benjamin Herrenschmidt
2012-06-20 21:16   ` Anthony Liguori
2012-06-20 21:32     ` Michael S. Tsirkin
2012-06-20 21:38       ` Anthony Liguori
2012-06-20 21:42         ` Michael S. Tsirkin
2012-06-20 21:46           ` Anthony Liguori
2012-06-20 22:00             ` Michael S. Tsirkin
2012-06-20 21:33     ` Benjamin Herrenschmidt
2012-06-20 21:40     ` Michael S. Tsirkin
2012-06-20 22:01       ` Anthony Liguori
2012-06-21  1:48     ` David Gibson
2012-06-22  2:02     ` Benjamin Herrenschmidt
2012-06-19  6:39 ` [Qemu-devel] [PATCH 04/13] usb-ohci: Use " Benjamin Herrenschmidt
2012-06-20 21:18   ` Anthony Liguori
2012-06-20 21:36     ` Benjamin Herrenschmidt
2012-06-20 21:40       ` Anthony Liguori
2012-06-20 22:02         ` Benjamin Herrenschmidt
2012-06-21  7:33           ` Michael S. Tsirkin [this message]
2012-06-21 12:55             ` Anthony Liguori
2012-06-21 14:10               ` Michael S. Tsirkin
2012-06-22  2:28               ` Benjamin Herrenschmidt
2012-06-21  6:43         ` Gerd Hoffmann
2012-06-19  6:39 ` [Qemu-devel] [PATCH 05/13] iommu: Make sglists and dma_bdrv helpers use new universal DMA helpers Benjamin Herrenschmidt
2012-06-20 21:21   ` Anthony Liguori
2012-06-20 21:37     ` Benjamin Herrenschmidt
2012-06-19  6:39 ` [Qemu-devel] [PATCH 06/13] ide/ahci: Use universal DMA helper functions Benjamin Herrenschmidt
2012-06-19  6:39 ` [Qemu-devel] [PATCH 07/13] usb: Convert usb_packet_{map, unmap} to universal DMA helpers Benjamin Herrenschmidt
2012-06-19 13:42   ` Gerd Hoffmann
2012-06-19 20:23     ` Benjamin Herrenschmidt
2012-06-20  3:14       ` David Gibson
2012-06-20  3:52         ` Benjamin Herrenschmidt
2012-06-21  1:42           ` David Gibson
2012-06-20  6:25         ` Gerd Hoffmann
2012-06-20  9:25           ` Benjamin Herrenschmidt
2012-06-20  9:54             ` Gerd Hoffmann
2012-06-19  6:39 ` [Qemu-devel] [PATCH 08/13] iommu: Introduce IOMMU emulation infrastructure Benjamin Herrenschmidt
2012-06-19  6:39 ` [Qemu-devel] [PATCH 09/13] iommu: Add facility to cancel in-use dma memory maps Benjamin Herrenschmidt
2012-06-20 21:25   ` Anthony Liguori
2012-06-20 21:52     ` Benjamin Herrenschmidt
2012-06-22  3:18     ` Benjamin Herrenschmidt
2012-06-19  6:39 ` [Qemu-devel] [PATCH 10/13] pseries: Convert sPAPR TCEs to use generic IOMMU infrastructure Benjamin Herrenschmidt
2012-06-19  6:39 ` [Qemu-devel] [PATCH 11/13] iommu: Allow PCI to use " Benjamin Herrenschmidt
2012-06-19  6:39 ` [Qemu-devel] [PATCH 12/13] pseries: Implement IOMMU and DMA for PAPR PCI devices Benjamin Herrenschmidt
2012-06-19  6:39 ` [Qemu-devel] [PATCH 13/13] Add a memory barrier to DMA functions Benjamin Herrenschmidt
2012-06-20 21:12 ` [Qemu-devel] [PATCH 00/13] iommu series Anthony Liguori
  -- strict thread matches above, loose matches on Subject: below --
2012-05-10  4:48 [Qemu-devel] [PATCH 00/13] IOMMU infrastructure Benjamin Herrenschmidt
2012-05-10  4:48 ` [Qemu-devel] [PATCH 04/13] usb-ohci: Use universal DMA helper functions Benjamin Herrenschmidt

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=20120621073338.GA31732@redhat.com \
    --to=mst@redhat.com \
    --cc=anthony@codemonkey.ws \
    --cc=benh@kernel.crashing.org \
    --cc=david@gibson.dropbear.id.au \
    --cc=kraxel@redhat.com \
    --cc=qemu-devel@nongnu.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.