From: Jason Gunthorpe <jgg@ziepe.ca>
To: Christoph Hellwig <hch@lst.de>, Potnuri Bharat Teja <bharat@chelsio.com>
Cc: Maxime Ripard <maxime.ripard@bootlin.com>,
Joonas Lahtinen <joonas.lahtinen@linux.intel.com>,
dri-devel@lists.freedesktop.org, linux-mm@kvack.org,
devel@driverdev.osuosl.org, linux-s390@vger.kernel.org,
linux-rdma@vger.kernel.org, David Airlie <airlied@linux.ie>,
Dan Carpenter <dan.carpenter@oracle.com>,
linux-media@vger.kernel.org,
Intel Linux Wireless <linuxwifi@intel.com>,
intel-gfx@lists.freedesktop.org,
Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
Jani Nikula <jani.nikula@linux.intel.com>,
Ian Abbott <abbotti@mev.co.uk>,
Rodrigo Vivi <rodrigo.vivi@intel.com>,
Sean Paul <sean@poorly.run>,
"moderated list:ARM PORT" <linux-arm-kernel@lists.infradead.org>,
netdev@vger.kernel.org, linux-wireless@vger.kernel.org,
linux-kernel@vger.kernel.org,
H Hartley Sweeten <hsweeten@visionengravers.com>,
iommu@lists.linux-foundation.org, Daniel Vetter <daniel@ffwll.ch>
Subject: Re: use exact allocation for dma coherent memory
Date: Wed, 19 Jun 2019 13:29:03 -0300 [thread overview]
Message-ID: <20190619162903.GF9360@ziepe.ca> (raw)
In-Reply-To: <20190617083342.GA7883@lst.de>
On Mon, Jun 17, 2019 at 10:33:42AM +0200, Christoph Hellwig wrote:
> > drivers/infiniband/hw/cxgb4/qp.c
> > 129 static int alloc_host_sq(struct c4iw_rdev *rdev, struct t4_sq *sq)
> > 130 {
> > 131 sq->queue = dma_alloc_coherent(&(rdev->lldi.pdev->dev), sq->memsize,
> > 132 &(sq->dma_addr), GFP_KERNEL);
> > 133 if (!sq->queue)
> > 134 return -ENOMEM;
> > 135 sq->phys_addr = virt_to_phys(sq->queue);
> > 136 dma_unmap_addr_set(sq, mapping, sq->dma_addr);
> > 137 return 0;
> > 138 }
> >
> > Is this a bug?
>
> Yes. This will blow up badly on many platforms, as sq->queue
> might be vmapped, ioremapped, come from a pool without page backing.
Gah, this addr gets fed into io_remap_pfn_range/remap_pfn_range too..
Potnuri, you should fix this..
You probably need to use dma_mmap_from_dev_coherent() in the mmap ?
Jason
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu
WARNING: multiple messages have this Message-ID (diff)
From: Jason Gunthorpe <jgg@ziepe.ca>
To: Christoph Hellwig <hch@lst.de>, Potnuri Bharat Teja <bharat@chelsio.com>
Cc: Dan Carpenter <dan.carpenter@oracle.com>,
Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
Maxime Ripard <maxime.ripard@bootlin.com>,
Sean Paul <sean@poorly.run>, David Airlie <airlied@linux.ie>,
Daniel Vetter <daniel@ffwll.ch>,
Jani Nikula <jani.nikula@linux.intel.com>,
Joonas Lahtinen <joonas.lahtinen@linux.intel.com>,
Rodrigo Vivi <rodrigo.vivi@intel.com>,
Ian Abbott <abbotti@mev.co.uk>,
H Hartley Sweeten <hsweeten@visionengravers.com>,
devel@driverdev.osuosl.org, linux-s390@vger.kernel.org,
Intel Linux Wireless <linuxwifi@intel.com>,
linux-rdma@vger.kernel.org, netdev@vger.kernel.org,
intel-gfx@lists.freedesktop.org, linux-wireless@vger.kernel.org,
linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,
linux-mm@kvack.org, iommu@lists.linux-foundati
Subject: Re: use exact allocation for dma coherent memory
Date: Wed, 19 Jun 2019 13:29:03 -0300 [thread overview]
Message-ID: <20190619162903.GF9360@ziepe.ca> (raw)
In-Reply-To: <20190617083342.GA7883@lst.de>
On Mon, Jun 17, 2019 at 10:33:42AM +0200, Christoph Hellwig wrote:
> > drivers/infiniband/hw/cxgb4/qp.c
> > 129 static int alloc_host_sq(struct c4iw_rdev *rdev, struct t4_sq *sq)
> > 130 {
> > 131 sq->queue = dma_alloc_coherent(&(rdev->lldi.pdev->dev), sq->memsize,
> > 132 &(sq->dma_addr), GFP_KERNEL);
> > 133 if (!sq->queue)
> > 134 return -ENOMEM;
> > 135 sq->phys_addr = virt_to_phys(sq->queue);
> > 136 dma_unmap_addr_set(sq, mapping, sq->dma_addr);
> > 137 return 0;
> > 138 }
> >
> > Is this a bug?
>
> Yes. This will blow up badly on many platforms, as sq->queue
> might be vmapped, ioremapped, come from a pool without page backing.
Gah, this addr gets fed into io_remap_pfn_range/remap_pfn_range too..
Potnuri, you should fix this..
You probably need to use dma_mmap_from_dev_coherent() in the mmap ?
Jason
WARNING: multiple messages have this Message-ID (diff)
From: Jason Gunthorpe <jgg@ziepe.ca>
To: Christoph Hellwig <hch@lst.de>, Potnuri Bharat Teja <bharat@chelsio.com>
Cc: Dan Carpenter <dan.carpenter@oracle.com>,
Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
Maxime Ripard <maxime.ripard@bootlin.com>,
Sean Paul <sean@poorly.run>, David Airlie <airlied@linux.ie>,
Daniel Vetter <daniel@ffwll.ch>,
Jani Nikula <jani.nikula@linux.intel.com>,
Joonas Lahtinen <joonas.lahtinen@linux.intel.com>,
Rodrigo Vivi <rodrigo.vivi@intel.com>,
Ian Abbott <abbotti@mev.co.uk>,
H Hartley Sweeten <hsweeten@visionengravers.com>,
devel@driverdev.osuosl.org, linux-s390@vger.kernel.org,
Intel Linux Wireless <linuxwifi@intel.com>,
linux-rdma@vger.kernel.org, netdev@vger.kernel.org,
intel-gfx@lists.freedesktop.org, linux-wireless@vger.kernel.org,
linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,
linux-mm@kvack.org, iommu@lists.linux-foundation.org,
"moderated list:ARM PORT" <linux-arm-kernel@lists.infradead.org>,
linux-media@vger.kernel.org
Subject: Re: use exact allocation for dma coherent memory
Date: Wed, 19 Jun 2019 13:29:03 -0300 [thread overview]
Message-ID: <20190619162903.GF9360@ziepe.ca> (raw)
In-Reply-To: <20190617083342.GA7883@lst.de>
On Mon, Jun 17, 2019 at 10:33:42AM +0200, Christoph Hellwig wrote:
> > drivers/infiniband/hw/cxgb4/qp.c
> > 129 static int alloc_host_sq(struct c4iw_rdev *rdev, struct t4_sq *sq)
> > 130 {
> > 131 sq->queue = dma_alloc_coherent(&(rdev->lldi.pdev->dev), sq->memsize,
> > 132 &(sq->dma_addr), GFP_KERNEL);
> > 133 if (!sq->queue)
> > 134 return -ENOMEM;
> > 135 sq->phys_addr = virt_to_phys(sq->queue);
> > 136 dma_unmap_addr_set(sq, mapping, sq->dma_addr);
> > 137 return 0;
> > 138 }
> >
> > Is this a bug?
>
> Yes. This will blow up badly on many platforms, as sq->queue
> might be vmapped, ioremapped, come from a pool without page backing.
Gah, this addr gets fed into io_remap_pfn_range/remap_pfn_range too..
Potnuri, you should fix this..
You probably need to use dma_mmap_from_dev_coherent() in the mmap ?
Jason
WARNING: multiple messages have this Message-ID (diff)
From: Jason Gunthorpe <jgg@ziepe.ca>
To: Christoph Hellwig <hch@lst.de>, Potnuri Bharat Teja <bharat@chelsio.com>
Cc: Maxime Ripard <maxime.ripard@bootlin.com>,
Joonas Lahtinen <joonas.lahtinen@linux.intel.com>,
dri-devel@lists.freedesktop.org, linux-mm@kvack.org,
devel@driverdev.osuosl.org, linux-s390@vger.kernel.org,
linux-rdma@vger.kernel.org, David Airlie <airlied@linux.ie>,
Dan Carpenter <dan.carpenter@oracle.com>,
linux-media@vger.kernel.org,
Intel Linux Wireless <linuxwifi@intel.com>,
intel-gfx@lists.freedesktop.org,
Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
Jani Nikula <jani.nikula@linux.intel.com>,
Ian Abbott <abbotti@mev.co.uk>,
Rodrigo Vivi <rodrigo.vivi@intel.com>,
Sean Paul <sean@poorly.run>,
"moderated list:ARM PORT" <linux-arm-kernel@lists.infradead.org>,
netdev@vger.kernel.org, linux-wireless@vger.kernel.org,
linux-kernel@vger.kernel.org,
H Hartley Sweeten <hsweeten@visionengravers.com>,
iommu@lists.linux-foundation.org, Daniel Vetter <daniel@ffwll.ch>
Subject: Re: use exact allocation for dma coherent memory
Date: Wed, 19 Jun 2019 13:29:03 -0300 [thread overview]
Message-ID: <20190619162903.GF9360@ziepe.ca> (raw)
In-Reply-To: <20190617083342.GA7883@lst.de>
On Mon, Jun 17, 2019 at 10:33:42AM +0200, Christoph Hellwig wrote:
> > drivers/infiniband/hw/cxgb4/qp.c
> > 129 static int alloc_host_sq(struct c4iw_rdev *rdev, struct t4_sq *sq)
> > 130 {
> > 131 sq->queue = dma_alloc_coherent(&(rdev->lldi.pdev->dev), sq->memsize,
> > 132 &(sq->dma_addr), GFP_KERNEL);
> > 133 if (!sq->queue)
> > 134 return -ENOMEM;
> > 135 sq->phys_addr = virt_to_phys(sq->queue);
> > 136 dma_unmap_addr_set(sq, mapping, sq->dma_addr);
> > 137 return 0;
> > 138 }
> >
> > Is this a bug?
>
> Yes. This will blow up badly on many platforms, as sq->queue
> might be vmapped, ioremapped, come from a pool without page backing.
Gah, this addr gets fed into io_remap_pfn_range/remap_pfn_range too..
Potnuri, you should fix this..
You probably need to use dma_mmap_from_dev_coherent() in the mmap ?
Jason
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2019-06-19 16:29 UTC|newest]
Thread overview: 160+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-06-14 13:47 use exact allocation for dma coherent memory Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 13:47 ` [PATCH 01/16] media: videobuf-dma-contig: use dma_mmap_coherent Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 13:47 ` [PATCH 02/16] drm/ati_pcigart: stop using drm_pci_alloc Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 13:47 ` [PATCH 03/16] drm/i915: " Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 16:45 ` [Intel-gfx] " Ville Syrjälä
2019-06-14 16:45 ` Ville Syrjälä
2019-06-14 16:45 ` Ville Syrjälä
2019-06-14 16:45 ` Ville Syrjälä
2019-06-14 16:45 ` Ville Syrjälä
2019-06-14 13:47 ` [PATCH 04/16] drm: move drm_pci_{alloc,free} to drm_legacy Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 13:47 ` [PATCH 04/16] drm: move drm_pci_{alloc, free} " Christoph Hellwig
2019-06-14 13:47 ` [PATCH 05/16] drm: don't mark pages returned from drm_pci_alloc reserved Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 13:47 ` [PATCH 06/16] drm: don't pass __GFP_COMP to dma_alloc_coherent in drm_pci_alloc Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 13:47 ` [PATCH 07/16] IB/hfi1: stop passing bogus gfp flags arguments to dma_alloc_coherent Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 13:47 ` [PATCH 08/16] IB/qib: " Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 13:47 ` [PATCH 09/16] cnic: " Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 13:47 ` [PATCH 10/16] iwlwifi: " Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 13:47 ` [PATCH 11/16] s390/ism: " Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 13:47 ` [PATCH 12/16] staging/comedi: mark as broken Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 14:02 ` Greg KH
2019-06-14 14:02 ` Greg KH
2019-06-14 14:02 ` Greg KH
2019-06-14 14:02 ` Greg KH
2019-06-14 14:48 ` Christoph Hellwig
2019-06-14 14:48 ` Christoph Hellwig
2019-06-14 14:48 ` Christoph Hellwig
2019-06-14 14:48 ` Christoph Hellwig
2019-06-14 15:30 ` Greg KH
2019-06-14 15:30 ` Greg KH
2019-06-14 15:30 ` Greg KH
2019-06-14 15:30 ` Greg KH
2019-06-14 15:34 ` Christoph Hellwig
2019-06-14 15:34 ` Christoph Hellwig
2019-06-14 15:34 ` Christoph Hellwig
2019-06-14 15:34 ` Christoph Hellwig
2019-06-17 13:15 ` Ian Abbott
2019-06-17 13:15 ` Ian Abbott
2019-06-17 13:15 ` Ian Abbott
2019-06-17 13:15 ` Ian Abbott
2019-06-14 13:47 ` [PATCH 13/16] mm: rename alloc_pages_exact_nid to alloc_pages_exact_node Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 13:47 ` [PATCH 14/16] mm: use alloc_pages_exact_node to implement alloc_pages_exact Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 13:47 ` [PATCH 15/16] dma-mapping: clear __GFP_COMP in dma_alloc_attrs Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 13:47 ` [PATCH 16/16] dma-mapping: use exact allocation in dma_alloc_contiguous Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 13:47 ` Christoph Hellwig
2019-06-14 14:15 ` David Laight
2019-06-14 14:15 ` David Laight
2019-06-14 14:15 ` David Laight
2019-06-14 14:15 ` David Laight
2019-06-14 14:50 ` 'Christoph Hellwig'
2019-06-14 14:50 ` 'Christoph Hellwig'
2019-06-14 14:50 ` 'Christoph Hellwig'
2019-06-14 14:50 ` 'Christoph Hellwig'
2019-06-14 15:01 ` David Laight
2019-06-14 15:01 ` David Laight
2019-06-14 15:01 ` David Laight
2019-06-14 15:01 ` David Laight
2019-06-14 15:05 ` 'Christoph Hellwig'
2019-06-14 15:05 ` 'Christoph Hellwig'
2019-06-14 15:05 ` 'Christoph Hellwig'
2019-06-14 15:05 ` 'Christoph Hellwig'
2019-06-14 15:05 ` Robin Murphy
2019-06-14 15:05 ` Robin Murphy
2019-06-14 15:05 ` Robin Murphy
2019-06-14 15:05 ` Robin Murphy
2019-06-14 15:08 ` 'Christoph Hellwig'
2019-06-14 15:08 ` 'Christoph Hellwig'
2019-06-14 15:08 ` 'Christoph Hellwig'
2019-06-14 15:08 ` 'Christoph Hellwig'
2019-06-14 15:16 ` David Laight
2019-06-14 15:16 ` David Laight
2019-06-14 15:16 ` David Laight
2019-06-14 15:16 ` David Laight
2019-06-17 8:21 ` use exact allocation for dma coherent memory Dan Carpenter
2019-06-17 8:21 ` Dan Carpenter
2019-06-17 8:21 ` Dan Carpenter
2019-06-17 8:21 ` Dan Carpenter
2019-06-17 8:33 ` Christoph Hellwig
2019-06-17 8:33 ` Christoph Hellwig
2019-06-17 8:33 ` Christoph Hellwig
2019-06-17 8:33 ` Christoph Hellwig
2019-06-19 16:29 ` Jason Gunthorpe [this message]
2019-06-19 16:29 ` Jason Gunthorpe
2019-06-19 16:29 ` Jason Gunthorpe
2019-06-19 16:29 ` Jason Gunthorpe
2019-06-20 10:51 ` Christoph Hellwig
2019-06-20 10:51 ` Christoph Hellwig
2019-06-20 10:51 ` Christoph Hellwig
2019-06-20 10:51 ` Christoph Hellwig
2019-07-01 8:48 ` Christoph Hellwig
2019-07-01 8:48 ` Christoph Hellwig
2019-07-01 8:48 ` Christoph Hellwig
2019-07-02 9:48 ` Arend Van Spriel via iommu
2019-07-02 9:48 ` Arend Van Spriel
2019-07-02 9:48 ` Arend Van Spriel
2019-07-08 18:43 ` Christoph Hellwig
2019-07-08 18:43 ` Christoph Hellwig
2019-07-08 18:43 ` Christoph Hellwig
2019-07-08 18:43 ` 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=20190619162903.GF9360@ziepe.ca \
--to=jgg@ziepe.ca \
--cc=abbotti@mev.co.uk \
--cc=airlied@linux.ie \
--cc=bharat@chelsio.com \
--cc=dan.carpenter@oracle.com \
--cc=daniel@ffwll.ch \
--cc=devel@driverdev.osuosl.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=hch@lst.de \
--cc=hsweeten@visionengravers.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=iommu@lists.linux-foundation.org \
--cc=jani.nikula@linux.intel.com \
--cc=joonas.lahtinen@linux.intel.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-rdma@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=linux-wireless@vger.kernel.org \
--cc=linuxwifi@intel.com \
--cc=maarten.lankhorst@linux.intel.com \
--cc=maxime.ripard@bootlin.com \
--cc=netdev@vger.kernel.org \
--cc=rodrigo.vivi@intel.com \
--cc=sean@poorly.run \
/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.