From: Tony Lindgren <tony@atomide.com>
To: Joerg Roedel <joro@8bytes.org>, Will Deacon <will@kernel.org>
Cc: linux-omap@vger.kernel.org, Drew Fustini <dfustini@baylibre.com>,
Jason Gunthorpe <jgg@ziepe.ca>,
iommu@lists.linux-foundation.org,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH] iommu/omap: Fix regression in probe for NULL pointer dereference
Date: Thu, 7 Apr 2022 08:39:05 +0300 [thread overview]
Message-ID: <Yk54+S0iaMueWN63@atomide.com> (raw)
In-Reply-To: <20220331062301.24269-1-tony@atomide.com>
Hi,
* Tony Lindgren <tony@atomide.com> [220331 09:21]:
> Commit 3f6634d997db ("iommu: Use right way to retrieve iommu_ops") started
> triggering a NULL pointer dereference for some omap variants:
>
> __iommu_probe_device from probe_iommu_group+0x2c/0x38
> probe_iommu_group from bus_for_each_dev+0x74/0xbc
> bus_for_each_dev from bus_iommu_probe+0x34/0x2e8
> bus_iommu_probe from bus_set_iommu+0x80/0xc8
> bus_set_iommu from omap_iommu_init+0x88/0xcc
> omap_iommu_init from do_one_initcall+0x44/0x24
>
> This is caused by omap iommu probe returning 0 instead of ERR_PTR(-ENODEV)
> as noted by Jason Gunthorpe <jgg@ziepe.ca>.
>
> Looks like the regression already happened with an earlier commit
> 6785eb9105e3 ("iommu/omap: Convert to probe/release_device() call-backs")
> that changed the function return type and missed converting one place.
Can you guys please get this fix into the -rc series? Or ack it so
I can pick it up into my fixes branch?
Without this fix booting is failing for a bunch of devices.
Regards,
Tony
> Cc: Drew Fustini <dfustini@baylibre.com>
> Cc: Lu Baolu <baolu.lu@linux.intel.com>
> Cc: Suman Anna <s-anna@ti.com>
> Suggested-by: Jason Gunthorpe <jgg@ziepe.ca>
> Fixes: 6785eb9105e3 ("iommu/omap: Convert to probe/release_device() call-backs")
> Fixes: 3f6634d997db ("iommu: Use right way to retrieve iommu_ops")
> Signed-off-by: Tony Lindgren <tony@atomide.com>
> ---
> drivers/iommu/omap-iommu.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/iommu/omap-iommu.c b/drivers/iommu/omap-iommu.c
> --- a/drivers/iommu/omap-iommu.c
> +++ b/drivers/iommu/omap-iommu.c
> @@ -1661,7 +1661,7 @@ static struct iommu_device *omap_iommu_probe_device(struct device *dev)
> num_iommus = of_property_count_elems_of_size(dev->of_node, "iommus",
> sizeof(phandle));
> if (num_iommus < 0)
> - return 0;
> + return ERR_PTR(-ENODEV);
>
> arch_data = kcalloc(num_iommus + 1, sizeof(*arch_data), GFP_KERNEL);
> if (!arch_data)
> --
> 2.35.1
>
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu
WARNING: multiple messages have this Message-ID (diff)
From: Tony Lindgren <tony@atomide.com>
To: Joerg Roedel <joro@8bytes.org>, Will Deacon <will@kernel.org>
Cc: Drew Fustini <dfustini@baylibre.com>, Suman Anna <s-anna@ti.com>,
iommu@lists.linux-foundation.org,
linux-arm-kernel@lists.infradead.org, linux-omap@vger.kernel.org,
Lu Baolu <baolu.lu@linux.intel.com>,
Jason Gunthorpe <jgg@ziepe.ca>
Subject: Re: [PATCH] iommu/omap: Fix regression in probe for NULL pointer dereference
Date: Thu, 7 Apr 2022 08:39:05 +0300 [thread overview]
Message-ID: <Yk54+S0iaMueWN63@atomide.com> (raw)
In-Reply-To: <20220331062301.24269-1-tony@atomide.com>
Hi,
* Tony Lindgren <tony@atomide.com> [220331 09:21]:
> Commit 3f6634d997db ("iommu: Use right way to retrieve iommu_ops") started
> triggering a NULL pointer dereference for some omap variants:
>
> __iommu_probe_device from probe_iommu_group+0x2c/0x38
> probe_iommu_group from bus_for_each_dev+0x74/0xbc
> bus_for_each_dev from bus_iommu_probe+0x34/0x2e8
> bus_iommu_probe from bus_set_iommu+0x80/0xc8
> bus_set_iommu from omap_iommu_init+0x88/0xcc
> omap_iommu_init from do_one_initcall+0x44/0x24
>
> This is caused by omap iommu probe returning 0 instead of ERR_PTR(-ENODEV)
> as noted by Jason Gunthorpe <jgg@ziepe.ca>.
>
> Looks like the regression already happened with an earlier commit
> 6785eb9105e3 ("iommu/omap: Convert to probe/release_device() call-backs")
> that changed the function return type and missed converting one place.
Can you guys please get this fix into the -rc series? Or ack it so
I can pick it up into my fixes branch?
Without this fix booting is failing for a bunch of devices.
Regards,
Tony
> Cc: Drew Fustini <dfustini@baylibre.com>
> Cc: Lu Baolu <baolu.lu@linux.intel.com>
> Cc: Suman Anna <s-anna@ti.com>
> Suggested-by: Jason Gunthorpe <jgg@ziepe.ca>
> Fixes: 6785eb9105e3 ("iommu/omap: Convert to probe/release_device() call-backs")
> Fixes: 3f6634d997db ("iommu: Use right way to retrieve iommu_ops")
> Signed-off-by: Tony Lindgren <tony@atomide.com>
> ---
> drivers/iommu/omap-iommu.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/iommu/omap-iommu.c b/drivers/iommu/omap-iommu.c
> --- a/drivers/iommu/omap-iommu.c
> +++ b/drivers/iommu/omap-iommu.c
> @@ -1661,7 +1661,7 @@ static struct iommu_device *omap_iommu_probe_device(struct device *dev)
> num_iommus = of_property_count_elems_of_size(dev->of_node, "iommus",
> sizeof(phandle));
> if (num_iommus < 0)
> - return 0;
> + return ERR_PTR(-ENODEV);
>
> arch_data = kcalloc(num_iommus + 1, sizeof(*arch_data), GFP_KERNEL);
> if (!arch_data)
> --
> 2.35.1
>
WARNING: multiple messages have this Message-ID (diff)
From: Tony Lindgren <tony@atomide.com>
To: Joerg Roedel <joro@8bytes.org>, Will Deacon <will@kernel.org>
Cc: linux-omap@vger.kernel.org, Drew Fustini <dfustini@baylibre.com>,
Jason Gunthorpe <jgg@ziepe.ca>,
iommu@lists.linux-foundation.org,
linux-arm-kernel@lists.infradead.org,
Lu Baolu <baolu.lu@linux.intel.com>
Subject: Re: [PATCH] iommu/omap: Fix regression in probe for NULL pointer dereference
Date: Thu, 7 Apr 2022 08:39:05 +0300 [thread overview]
Message-ID: <Yk54+S0iaMueWN63@atomide.com> (raw)
In-Reply-To: <20220331062301.24269-1-tony@atomide.com>
Hi,
* Tony Lindgren <tony@atomide.com> [220331 09:21]:
> Commit 3f6634d997db ("iommu: Use right way to retrieve iommu_ops") started
> triggering a NULL pointer dereference for some omap variants:
>
> __iommu_probe_device from probe_iommu_group+0x2c/0x38
> probe_iommu_group from bus_for_each_dev+0x74/0xbc
> bus_for_each_dev from bus_iommu_probe+0x34/0x2e8
> bus_iommu_probe from bus_set_iommu+0x80/0xc8
> bus_set_iommu from omap_iommu_init+0x88/0xcc
> omap_iommu_init from do_one_initcall+0x44/0x24
>
> This is caused by omap iommu probe returning 0 instead of ERR_PTR(-ENODEV)
> as noted by Jason Gunthorpe <jgg@ziepe.ca>.
>
> Looks like the regression already happened with an earlier commit
> 6785eb9105e3 ("iommu/omap: Convert to probe/release_device() call-backs")
> that changed the function return type and missed converting one place.
Can you guys please get this fix into the -rc series? Or ack it so
I can pick it up into my fixes branch?
Without this fix booting is failing for a bunch of devices.
Regards,
Tony
> Cc: Drew Fustini <dfustini@baylibre.com>
> Cc: Lu Baolu <baolu.lu@linux.intel.com>
> Cc: Suman Anna <s-anna@ti.com>
> Suggested-by: Jason Gunthorpe <jgg@ziepe.ca>
> Fixes: 6785eb9105e3 ("iommu/omap: Convert to probe/release_device() call-backs")
> Fixes: 3f6634d997db ("iommu: Use right way to retrieve iommu_ops")
> Signed-off-by: Tony Lindgren <tony@atomide.com>
> ---
> drivers/iommu/omap-iommu.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/iommu/omap-iommu.c b/drivers/iommu/omap-iommu.c
> --- a/drivers/iommu/omap-iommu.c
> +++ b/drivers/iommu/omap-iommu.c
> @@ -1661,7 +1661,7 @@ static struct iommu_device *omap_iommu_probe_device(struct device *dev)
> num_iommus = of_property_count_elems_of_size(dev->of_node, "iommus",
> sizeof(phandle));
> if (num_iommus < 0)
> - return 0;
> + return ERR_PTR(-ENODEV);
>
> arch_data = kcalloc(num_iommus + 1, sizeof(*arch_data), GFP_KERNEL);
> if (!arch_data)
> --
> 2.35.1
>
_______________________________________________
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:[~2022-04-07 5:39 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-31 6:23 [PATCH] iommu/omap: Fix regression in probe for NULL pointer dereference Tony Lindgren
2022-03-31 6:23 ` Tony Lindgren
2022-03-31 6:23 ` Tony Lindgren
2022-03-31 14:55 ` Jason Gunthorpe
2022-03-31 14:55 ` Jason Gunthorpe
2022-03-31 14:55 ` Jason Gunthorpe
2022-03-31 21:21 ` Drew Fustini
2022-03-31 21:21 ` Drew Fustini
2022-03-31 21:21 ` Drew Fustini
2022-04-07 5:39 ` Tony Lindgren [this message]
2022-04-07 5:39 ` Tony Lindgren
2022-04-07 5:39 ` Tony Lindgren
2022-04-07 6:43 ` H. Nikolaus Schaller
2022-04-07 6:43 ` H. Nikolaus Schaller
2022-04-07 6:43 ` H. Nikolaus Schaller
2022-04-08 8:25 ` Joerg Roedel
2022-04-08 8:25 ` Joerg Roedel
2022-04-08 8:25 ` Joerg Roedel
2022-04-08 9:40 ` Tony Lindgren
2022-04-08 9:40 ` Tony Lindgren
2022-04-08 9:40 ` Tony Lindgren
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=Yk54+S0iaMueWN63@atomide.com \
--to=tony@atomide.com \
--cc=dfustini@baylibre.com \
--cc=iommu@lists.linux-foundation.org \
--cc=jgg@ziepe.ca \
--cc=joro@8bytes.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-omap@vger.kernel.org \
--cc=will@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: 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.