From: Jason Gunthorpe <jgg@nvidia.com>
To: Baolu Lu <baolu.lu@linux.intel.com>
Cc: Andy Gross <agross@kernel.org>,
Alim Akhtar <alim.akhtar@samsung.com>,
Bjorn Andersson <andersson@kernel.org>,
AngeloGioacchino Del Regno
<angelogioacchino.delregno@collabora.com>,
Baolin Wang <baolin.wang@linux.alibaba.com>,
Christophe Leroy <christophe.leroy@csgroup.eu>,
Gerald Schaefer <gerald.schaefer@linux.ibm.com>,
Heiko Stuebner <heiko@sntech.de>,
iommu@lists.linux.dev, Jernej Skrabec <jernej.skrabec@gmail.com>,
Jonathan Hunter <jonathanh@nvidia.com>,
Joerg Roedel <joro@8bytes.org>, Kevin Tian <kevin.tian@intel.com>,
Konrad Dybcio <konrad.dybcio@linaro.org>,
Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>,
linux-arm-kernel@lists.infradead.org,
linux-arm-msm@vger.kernel.org,
linux-mediatek@lists.infradead.org,
linux-rockchip@lists.infradead.org, linux-s390@vger.kernel.org,
linux-samsung-soc@vger.kernel.org, linux-sunxi@lists.linux.dev,
linux-tegra@vger.kernel.org, Russell King <linux@armlinux.org.uk>,
linuxppc-dev@lists.ozlabs.org,
Matthias Brugger <matthias.bgg@gmail.com>,
Matthew Rosato <mjrosato@linux.ibm.com>,
Michael Ellerman <mpe@ellerman.id.au>,
Nicholas Piggin <npiggin@gmail.com>,
Orson Zhai <orsonzhai@gmail.com>, Rob Clark <robdclark@gmail.com>,
Robin Murphy <robin.murphy@arm.com>,
Samuel Holland <samuel@sholland.org>,
Thierry Reding <thierry.reding@gmail.com>,
Krishna Reddy <vdumpa@nvidia.com>, Chen-Yu Tsai <wens@csie.org>,
Will Deacon <will@kernel.org>, Yong Wu <yong.wu@mediatek.com>,
Chunyan Zhang <zhang.lyra@gmail.com>,
Dmitry Osipenko <digetx@gmail.com>,
Marek Szyprowski <m.szyprowski@samsung.com>,
Nicolin Chen <nicolinc@nvidia.com>,
Niklas Schnelle <schnelle@linux.ibm.com>,
Steven Price <steven.price@arm.com>,
Thierry Reding <treding@nvidia.com>
Subject: Re: [PATCH v3 23/25] iommu: Add ops->domain_alloc_paging()
Date: Sat, 10 Jun 2023 09:03:52 -0300 [thread overview]
Message-ID: <ZIRmqK1565B/COT8@nvidia.com> (raw)
In-Reply-To: <b1225451-2a2d-0f06-da37-d476342db365@linux.intel.com>
On Sat, Jun 10, 2023 at 05:08:31PM +0800, Baolu Lu wrote:
> > @@ -1992,8 +1993,13 @@ static struct iommu_domain *__iommu_domain_alloc(const struct iommu_ops *ops,
> > if (alloc_type == IOMMU_DOMAIN_IDENTITY && ops->identity_domain)
> > return ops->identity_domain;
> > + else if (type & __IOMMU_DOMAIN_PAGING) {
> > + domain = ops->domain_alloc_paging(dev);
>
> This might be problematic because not all IOMMU drivers implement this
> callback now. In the missing cases, the code will always result in a
> null pointer reference issue?
Ah, thank you that is a rebasing error :(
> > struct iommu_domain *iommu_domain_alloc(const struct bus_type *bus)
> > {
> > if (bus == NULL || bus->iommu_ops == NULL)
> > return NULL;
> > - return __iommu_domain_alloc(bus->iommu_ops, IOMMU_DOMAIN_UNMANAGED);
> > + return __iommu_domain_alloc(bus->iommu_ops, NULL,
> > + IOMMU_DOMAIN_UNMANAGED);
>
> Suppose that iommu_domain_alloc() is always called from device drivers
> where device pointer is always available. Is it possible to convert it
> to a real device pointer?
Yes, Robin has a series for that
Jason
WARNING: multiple messages have this Message-ID (diff)
From: Jason Gunthorpe <jgg@nvidia.com>
To: Baolu Lu <baolu.lu@linux.intel.com>
Cc: Andy Gross <agross@kernel.org>,
Alim Akhtar <alim.akhtar@samsung.com>,
Bjorn Andersson <andersson@kernel.org>,
AngeloGioacchino Del Regno
<angelogioacchino.delregno@collabora.com>,
Baolin Wang <baolin.wang@linux.alibaba.com>,
Christophe Leroy <christophe.leroy@csgroup.eu>,
Gerald Schaefer <gerald.schaefer@linux.ibm.com>,
Heiko Stuebner <heiko@sntech.de>,
iommu@lists.linux.dev, Jernej Skrabec <jernej.skrabec@gmail.com>,
Jonathan Hunter <jonathanh@nvidia.com>,
Joerg Roedel <joro@8bytes.org>, Kevin Tian <kevin.tian@intel.com>,
Konrad Dybcio <konrad.dybcio@linaro.org>,
Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>,
linux-arm-kernel@lists.infradead.org,
linux-arm-msm@vger.kernel.org,
linux-mediatek@lists.infradead.org,
linux-rockchip@lists.infradead.org, linux-s390@vger.kernel.org,
linux-samsung-soc@vger.kernel.org, linux-sunxi@lists.linux.dev,
linux-tegra@vger.kernel.org, Russell King <linux@armlinux.org.uk>,
linuxppc-dev@lists.ozlabs.org,
Matthias Brugger <matthias.bgg@gmail.com>,
Matthew Rosato <mjrosato@linux.ibm.com>,
Michael Ellerman <mpe@ellerman.id.au>,
Nicholas Piggin <npiggin@gmail.com>,
Orson Zhai <orsonzhai@gmail.com>, Rob Clark <robdclark@gmail.com>,
Robin Murphy <robin.murphy@arm.com>,
Samuel Holland <samuel@sholland.org>,
Thierry Reding <thierry.reding@gmail.com>,
Krishna Reddy <vdumpa@nvidia.com>, Chen-Yu Tsai <wens@csie.org>,
Will Deacon <will@kernel.org>, Yong Wu <yong.wu@mediatek.com>,
Chunyan Zhang <zhang.lyra@gmail.com>,
Dmitry Osipenko <digetx@gmail.com>,
Marek Szyprowski <m.szyprowski@samsung.com>,
Nicolin Chen <nicolinc@nvidia.com>,
Niklas Schnelle <schnelle@linux.ibm.com>,
Steven Price <steven.price@arm.com>,
Thierry Reding <treding@nvidia.com>
Subject: Re: [PATCH v3 23/25] iommu: Add ops->domain_alloc_paging()
Date: Sat, 10 Jun 2023 09:03:52 -0300 [thread overview]
Message-ID: <ZIRmqK1565B/COT8@nvidia.com> (raw)
In-Reply-To: <b1225451-2a2d-0f06-da37-d476342db365@linux.intel.com>
On Sat, Jun 10, 2023 at 05:08:31PM +0800, Baolu Lu wrote:
> > @@ -1992,8 +1993,13 @@ static struct iommu_domain *__iommu_domain_alloc(const struct iommu_ops *ops,
> > if (alloc_type == IOMMU_DOMAIN_IDENTITY && ops->identity_domain)
> > return ops->identity_domain;
> > + else if (type & __IOMMU_DOMAIN_PAGING) {
> > + domain = ops->domain_alloc_paging(dev);
>
> This might be problematic because not all IOMMU drivers implement this
> callback now. In the missing cases, the code will always result in a
> null pointer reference issue?
Ah, thank you that is a rebasing error :(
> > struct iommu_domain *iommu_domain_alloc(const struct bus_type *bus)
> > {
> > if (bus == NULL || bus->iommu_ops == NULL)
> > return NULL;
> > - return __iommu_domain_alloc(bus->iommu_ops, IOMMU_DOMAIN_UNMANAGED);
> > + return __iommu_domain_alloc(bus->iommu_ops, NULL,
> > + IOMMU_DOMAIN_UNMANAGED);
>
> Suppose that iommu_domain_alloc() is always called from device drivers
> where device pointer is always available. Is it possible to convert it
> to a real device pointer?
Yes, Robin has a series for that
Jason
_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip
WARNING: multiple messages have this Message-ID (diff)
From: Jason Gunthorpe <jgg@nvidia.com>
To: Baolu Lu <baolu.lu@linux.intel.com>
Cc: Heiko Stuebner <heiko@sntech.de>,
Matthew Rosato <mjrosato@linux.ibm.com>,
Matthias Brugger <matthias.bgg@gmail.com>,
Thierry Reding <thierry.reding@gmail.com>,
Jernej Skrabec <jernej.skrabec@gmail.com>,
Alim Akhtar <alim.akhtar@samsung.com>,
Dmitry Osipenko <digetx@gmail.com>,
Steven Price <steven.price@arm.com>,
Will Deacon <will@kernel.org>,
Marek Szyprowski <m.szyprowski@samsung.com>,
linux-s390@vger.kernel.org, linux-samsung-soc@vger.kernel.org,
Samuel Holland <samuel@sholland.org>,
Joerg Roedel <joro@8bytes.org>,
Russell King <linux@armlinux.org.uk>,
Jonathan Hunter <jonathanh@nvidia.com>,
linux-rockchip@lists.infradead.org, iommu@lists.linux.dev,
Andy Gross <agross@kernel.org>,
Nicolin Chen <nicolinc@nvidia.com>,
Yong Wu <yong.wu@mediatek.com>, Orson Zhai <orsonzhai@gmail.com>,
Gerald Schaefer <gerald.schaefer@linux.ibm.com>,
Thierry Reding <treding@nvidia.com>,
linux-sunxi@lists.linux.dev, Rob Clark <robdclark@gmail.com>,
Kevin Tian <kevin.tian@intel.com>,
Niklas Schnelle <schnelle@linux.ibm.com>,
linux-arm-msm@vger.kernel.org,
Nicholas Piggin <npiggin@gmail.com>,
Krishna Reddy <vdumpa@nvidia.com>,
linux-mediatek@lists.infradead.org,
Baolin Wang <baolin.wang@linux.alibaba.com>,
linux-tegra@vger.kernel.org, Chen-Yu Tsai <wens@csie.org>,
linux-arm-kernel@lists.infradead.org,
AngeloGioacchino Del Regno
<angelogioacchino.delregno@collabora.com>,
Robin Murphy <robin.murphy@arm.com>,
Bjorn Andersson <andersson@kernel.org>,
Konrad Dybcio <konrad.dybcio@linaro.org>,
Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>,
Chunyan Zhang <zhang.lyra@gmail.com>,
linuxppc-dev@lists.ozlabs.org
Subject: Re: [PATCH v3 23/25] iommu: Add ops->domain_alloc_paging()
Date: Sat, 10 Jun 2023 09:03:52 -0300 [thread overview]
Message-ID: <ZIRmqK1565B/COT8@nvidia.com> (raw)
In-Reply-To: <b1225451-2a2d-0f06-da37-d476342db365@linux.intel.com>
On Sat, Jun 10, 2023 at 05:08:31PM +0800, Baolu Lu wrote:
> > @@ -1992,8 +1993,13 @@ static struct iommu_domain *__iommu_domain_alloc(const struct iommu_ops *ops,
> > if (alloc_type == IOMMU_DOMAIN_IDENTITY && ops->identity_domain)
> > return ops->identity_domain;
> > + else if (type & __IOMMU_DOMAIN_PAGING) {
> > + domain = ops->domain_alloc_paging(dev);
>
> This might be problematic because not all IOMMU drivers implement this
> callback now. In the missing cases, the code will always result in a
> null pointer reference issue?
Ah, thank you that is a rebasing error :(
> > struct iommu_domain *iommu_domain_alloc(const struct bus_type *bus)
> > {
> > if (bus == NULL || bus->iommu_ops == NULL)
> > return NULL;
> > - return __iommu_domain_alloc(bus->iommu_ops, IOMMU_DOMAIN_UNMANAGED);
> > + return __iommu_domain_alloc(bus->iommu_ops, NULL,
> > + IOMMU_DOMAIN_UNMANAGED);
>
> Suppose that iommu_domain_alloc() is always called from device drivers
> where device pointer is always available. Is it possible to convert it
> to a real device pointer?
Yes, Robin has a series for that
Jason
next prev parent reply other threads:[~2023-06-10 12:04 UTC|newest]
Thread overview: 111+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-09 19:55 [PATCH v3 00/25] iommu: Make default_domain's mandatory Jason Gunthorpe
2023-06-09 19:55 ` Jason Gunthorpe
2023-06-09 19:55 ` Jason Gunthorpe
2023-06-09 19:55 ` Jason Gunthorpe
2023-06-09 19:55 ` [PATCH v3 01/25] iommu: Add iommu_ops->identity_domain Jason Gunthorpe
2023-06-09 19:55 ` Jason Gunthorpe
2023-06-09 19:55 ` Jason Gunthorpe
2023-06-09 19:55 ` Jason Gunthorpe
2023-06-09 19:55 ` [PATCH v3 02/25] iommu: Add IOMMU_DOMAIN_PLATFORM Jason Gunthorpe
2023-06-09 19:55 ` Jason Gunthorpe
2023-06-09 19:55 ` Jason Gunthorpe
2023-06-09 19:55 ` Jason Gunthorpe
2023-06-09 19:55 ` [PATCH v3 03/25] powerpc/iommu: Setup a default domain and remove set_platform_dma_ops Jason Gunthorpe
2023-06-09 19:55 ` Jason Gunthorpe
2023-06-09 19:55 ` Jason Gunthorpe
2023-06-09 19:55 ` Jason Gunthorpe
2023-06-09 19:55 ` [PATCH v3 04/25] iommu: Add IOMMU_DOMAIN_PLATFORM for S390 Jason Gunthorpe
2023-06-09 19:55 ` Jason Gunthorpe
2023-06-09 19:55 ` Jason Gunthorpe
2023-06-09 19:55 ` Jason Gunthorpe
2023-06-09 19:55 ` [PATCH v3 05/25] iommu/fsl_pamu: Implement a PLATFORM domain Jason Gunthorpe
2023-06-09 19:55 ` Jason Gunthorpe
2023-06-09 19:55 ` Jason Gunthorpe
2023-06-09 19:55 ` Jason Gunthorpe
2023-06-09 19:55 ` [PATCH v3 06/25] iommu/tegra-gart: Remove tegra-gart Jason Gunthorpe
2023-06-09 19:55 ` Jason Gunthorpe
2023-06-09 19:55 ` Jason Gunthorpe
2023-06-09 19:55 ` Jason Gunthorpe
2023-06-09 19:55 ` [PATCH v3 07/25] iommu/mtk_iommu_v1: Implement an IDENTITY domain Jason Gunthorpe
2023-06-09 19:55 ` Jason Gunthorpe
2023-06-09 19:55 ` Jason Gunthorpe
2023-06-09 19:55 ` Jason Gunthorpe
2023-06-09 19:55 ` [PATCH v3 08/25] iommu: Reorganize iommu_get_default_domain_type() to respect def_domain_type() Jason Gunthorpe
2023-06-09 19:55 ` Jason Gunthorpe
2023-06-09 19:55 ` Jason Gunthorpe
2023-06-09 19:55 ` Jason Gunthorpe
2023-06-09 19:55 ` [PATCH v3 09/25] iommu: Allow an IDENTITY domain as the default_domain in ARM32 Jason Gunthorpe
2023-06-09 19:55 ` Jason Gunthorpe
2023-06-09 19:55 ` Jason Gunthorpe
2023-06-09 19:55 ` Jason Gunthorpe
2023-06-09 19:55 ` [PATCH v3 10/25] iommu/exynos: Implement an IDENTITY domain Jason Gunthorpe
2023-06-09 19:55 ` Jason Gunthorpe
2023-06-09 19:55 ` Jason Gunthorpe
2023-06-09 19:55 ` Jason Gunthorpe
2023-06-09 19:55 ` [PATCH v3 11/25] iommu/tegra-smmu: " Jason Gunthorpe
2023-06-09 19:55 ` Jason Gunthorpe
2023-06-09 19:55 ` Jason Gunthorpe
2023-06-09 19:55 ` Jason Gunthorpe
2023-06-09 19:56 ` [PATCH v3 12/25] iommu/tegra-smmu: Support DMA domains in tegra Jason Gunthorpe
2023-06-09 19:56 ` Jason Gunthorpe
2023-06-09 19:56 ` Jason Gunthorpe
2023-06-09 19:56 ` Jason Gunthorpe
2023-06-09 19:56 ` [PATCH v3 13/25] iommu/omap: Implement an IDENTITY domain Jason Gunthorpe
2023-06-09 19:56 ` Jason Gunthorpe
2023-06-09 19:56 ` Jason Gunthorpe
2023-06-09 19:56 ` Jason Gunthorpe
2023-06-09 19:56 ` [PATCH v3 14/25] iommu/msm: " Jason Gunthorpe
2023-06-09 19:56 ` Jason Gunthorpe
2023-06-09 19:56 ` Jason Gunthorpe
2023-06-09 19:56 ` Jason Gunthorpe
2023-06-09 19:56 ` [PATCH v3 15/25] iommufd/selftest: Make the mock iommu driver into a real driver Jason Gunthorpe
2023-06-09 19:56 ` Jason Gunthorpe
2023-06-09 19:56 ` Jason Gunthorpe
2023-06-09 19:56 ` Jason Gunthorpe
2023-06-09 19:56 ` [PATCH v3 16/25] iommu: Remove ops->set_platform_dma_ops() Jason Gunthorpe
2023-06-09 19:56 ` Jason Gunthorpe
2023-06-09 19:56 ` Jason Gunthorpe
2023-06-09 19:56 ` Jason Gunthorpe
2023-06-09 19:56 ` [PATCH v3 17/25] iommu/qcom_iommu: Add an IOMMU_IDENTITIY_DOMAIN Jason Gunthorpe
2023-06-09 19:56 ` Jason Gunthorpe
2023-06-09 19:56 ` Jason Gunthorpe
2023-06-09 19:56 ` Jason Gunthorpe
2023-06-09 19:56 ` [PATCH v3 18/25] iommu/ipmmu: " Jason Gunthorpe
2023-06-09 19:56 ` Jason Gunthorpe
2023-06-09 19:56 ` Jason Gunthorpe
2023-06-09 19:56 ` Jason Gunthorpe
2023-06-09 19:56 ` [PATCH v3 19/25] iommu/mtk_iommu: " Jason Gunthorpe
2023-06-09 19:56 ` Jason Gunthorpe
2023-06-09 19:56 ` Jason Gunthorpe
2023-06-09 19:56 ` Jason Gunthorpe
2023-06-09 19:56 ` [PATCH v3 20/25] iommu/sun50i: " Jason Gunthorpe
2023-06-09 19:56 ` Jason Gunthorpe
2023-06-09 19:56 ` Jason Gunthorpe
2023-06-09 19:56 ` Jason Gunthorpe
2023-06-09 19:56 ` [PATCH v3 21/25] iommu: Require a default_domain for all iommu drivers Jason Gunthorpe
2023-06-09 19:56 ` Jason Gunthorpe
2023-06-09 19:56 ` Jason Gunthorpe
2023-06-09 19:56 ` Jason Gunthorpe
2023-06-09 19:56 ` [PATCH v3 22/25] iommu: Add __iommu_group_domain_alloc() Jason Gunthorpe
2023-06-09 19:56 ` Jason Gunthorpe
2023-06-09 19:56 ` Jason Gunthorpe
2023-06-09 19:56 ` Jason Gunthorpe
2023-06-09 19:56 ` [PATCH v3 23/25] iommu: Add ops->domain_alloc_paging() Jason Gunthorpe
2023-06-09 19:56 ` Jason Gunthorpe
2023-06-09 19:56 ` Jason Gunthorpe
2023-06-09 19:56 ` Jason Gunthorpe
2023-06-10 9:08 ` Baolu Lu
2023-06-10 9:08 ` Baolu Lu
2023-06-10 9:08 ` Baolu Lu
2023-06-10 9:08 ` Baolu Lu
2023-06-10 12:03 ` Jason Gunthorpe [this message]
2023-06-10 12:03 ` Jason Gunthorpe
2023-06-10 12:03 ` Jason Gunthorpe
2023-06-09 19:56 ` [PATCH v3 24/25] iommu: Convert simple drivers with DOMAIN_DMA to domain_alloc_paging() Jason Gunthorpe
2023-06-09 19:56 ` Jason Gunthorpe
2023-06-09 19:56 ` Jason Gunthorpe
2023-06-09 19:56 ` Jason Gunthorpe
2023-06-09 19:56 ` [PATCH v3 25/25] iommu: Convert remaining simple drivers " Jason Gunthorpe
2023-06-09 19:56 ` Jason Gunthorpe
2023-06-09 19:56 ` Jason Gunthorpe
2023-06-09 19:56 ` Jason Gunthorpe
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=ZIRmqK1565B/COT8@nvidia.com \
--to=jgg@nvidia.com \
--cc=agross@kernel.org \
--cc=alim.akhtar@samsung.com \
--cc=andersson@kernel.org \
--cc=angelogioacchino.delregno@collabora.com \
--cc=baolin.wang@linux.alibaba.com \
--cc=baolu.lu@linux.intel.com \
--cc=christophe.leroy@csgroup.eu \
--cc=digetx@gmail.com \
--cc=gerald.schaefer@linux.ibm.com \
--cc=heiko@sntech.de \
--cc=iommu@lists.linux.dev \
--cc=jernej.skrabec@gmail.com \
--cc=jonathanh@nvidia.com \
--cc=joro@8bytes.org \
--cc=kevin.tian@intel.com \
--cc=konrad.dybcio@linaro.org \
--cc=krzysztof.kozlowski@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=linux-s390@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=linux-sunxi@lists.linux.dev \
--cc=linux-tegra@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=m.szyprowski@samsung.com \
--cc=matthias.bgg@gmail.com \
--cc=mjrosato@linux.ibm.com \
--cc=mpe@ellerman.id.au \
--cc=nicolinc@nvidia.com \
--cc=npiggin@gmail.com \
--cc=orsonzhai@gmail.com \
--cc=robdclark@gmail.com \
--cc=robin.murphy@arm.com \
--cc=samuel@sholland.org \
--cc=schnelle@linux.ibm.com \
--cc=steven.price@arm.com \
--cc=thierry.reding@gmail.com \
--cc=treding@nvidia.com \
--cc=vdumpa@nvidia.com \
--cc=wens@csie.org \
--cc=will@kernel.org \
--cc=yong.wu@mediatek.com \
--cc=zhang.lyra@gmail.com \
/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.