Re: [PATCH v2]iommu/qcom:fix local_base status check

2020-05-01 Thread Tang Bin



On 2020/5/1 19:37, Joerg Roedel wrote:

On Sat, Apr 18, 2020 at 09:47:03PM +0800, Tang Bin wrote:

The function qcom_iommu_device_probe() does not perform sufficient
error checking after executing devm_ioremap_resource(), which can
result in crashes if a critical error path is encountered.

Fixes: 0ae349a0f33f ("iommu/qcom: Add qcom_iommu")

Signed-off-by: Tang Bin 
---
v2:
  - fix commit message and add fixed tag
---
  drivers/iommu/qcom_iommu.c | 5 -
  1 file changed, 4 insertions(+), 1 deletion(-)

Applied for v5.7, thanks.


Thank you very much.

Tang Bin






___
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu


[PATCH v2]iommu/qcom:fix local_base status check

2020-04-18 Thread Tang Bin
The function qcom_iommu_device_probe() does not perform sufficient
error checking after executing devm_ioremap_resource(), which can
result in crashes if a critical error path is encountered.

Fixes: 0ae349a0f33f ("iommu/qcom: Add qcom_iommu")

Signed-off-by: Tang Bin 
---
v2:
 - fix commit message and add fixed tag
---
 drivers/iommu/qcom_iommu.c | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/iommu/qcom_iommu.c b/drivers/iommu/qcom_iommu.c
index 4328da0b0..b160cf140 100644
--- a/drivers/iommu/qcom_iommu.c
+++ b/drivers/iommu/qcom_iommu.c
@@ -813,8 +813,11 @@ static int qcom_iommu_device_probe(struct platform_device 
*pdev)
qcom_iommu->dev = dev;
 
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-   if (res)
+   if (res) {
qcom_iommu->local_base = devm_ioremap_resource(dev, res);
+   if (IS_ERR(qcom_iommu->local_base))
+   return PTR_ERR(qcom_iommu->local_base);
+   }
 
qcom_iommu->iface_clk = devm_clk_get(dev, "iface");
if (IS_ERR(qcom_iommu->iface_clk)) {
-- 
2.20.1.windows.1



___
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu


Re: [PATCH] iommu/qcom:fix local_base status check

2020-04-18 Thread Tang Bin


On 2020/4/18 19:54, Joerg Roedel wrote:

On Thu, Apr 16, 2020 at 02:42:23PM +0800, Tang Bin wrote:

     The function qcom_iommu_device_probe() does not perform sufficient
error checking after executing devm_ioremap_resource(), which can result in
crashes if a critical error path is encountered.

Fixes: 0ae349a0("iommu/qcom: Add qcom_iommu")

Yes, that sounds better. Please use it for the commit message and also
add the Fixes line and resubmit the fix to me.
Please make the fixes line:

Fixes: 0ae349a0f33f ("iommu/qcom: Add qcom_iommu")

So that the commit-id is 12 characters long and a space between it and
the subject.


Got it, thanks for your instruction.

Tang Bin







___
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

Re: [PATCH] iommu/qcom:fix local_base status check

2020-04-16 Thread Tang Bin


On 2020/4/16 18:05, Robin Murphy wrote:

On 2020-04-02 7:33 am, Tang Bin wrote:

Release resources when exiting on error.

Signed-off-by: Tang Bin 
---
  drivers/iommu/qcom_iommu.c | 5 -
  1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/iommu/qcom_iommu.c b/drivers/iommu/qcom_iommu.c
index 4328da0b0..c08aa9651 100644
--- a/drivers/iommu/qcom_iommu.c
+++ b/drivers/iommu/qcom_iommu.c
@@ -813,8 +813,11 @@ static int qcom_iommu_device_probe(struct 
platform_device *pdev)

  qcom_iommu->dev = dev;
    res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-    if (res)
+    if (res) {
  qcom_iommu->local_base = devm_ioremap_resource(dev, res);
+    if (IS_ERR(qcom_iommu->local_base))
+    return PTR_ERR(qcom_iommu->local_base);
+    }


...or just use devm_platform_ioremap_resource() to make the whole 
thing simpler.
Yes, I was going to simplify the code here, but status check is still 
required.


So I'm waiting.

Thanks,

Tang Bin



___
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

Re: [PATCH] iommu/qcom:fix local_base status check

2020-04-16 Thread Tang Bin

Hi Bjorn:

On 2020/4/2 14:45, Bjorn Andersson wrote:

On Wed 01 Apr 23:33 PDT 2020, Tang Bin wrote:


Release resources when exiting on error.


Reviewed-by: Bjorn Andersson 


Thanks for your positive feedback.

I don't know whether the commit message affect this patch's result. If 
so, I think the commit message need more clarification. As follwos:


    The function qcom_iommu_device_probe() does not perform 
sufficient error checking after executing devm_ioremap_resource(), which 
can result in crashes if a critical error path is encountered.


Fixes: 0ae349a0("iommu/qcom: Add qcom_iommu")


I'm waiting for your reply actively.

Thanks,

Tang Bin





Signed-off-by: Tang Bin 
---
  drivers/iommu/qcom_iommu.c | 5 -
  1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/iommu/qcom_iommu.c b/drivers/iommu/qcom_iommu.c
index 4328da0b0..c08aa9651 100644
--- a/drivers/iommu/qcom_iommu.c
+++ b/drivers/iommu/qcom_iommu.c
@@ -813,8 +813,11 @@ static int qcom_iommu_device_probe(struct platform_device 
*pdev)
qcom_iommu->dev = dev;
  
  	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);

-   if (res)
+   if (res) {
qcom_iommu->local_base = devm_ioremap_resource(dev, res);
+   if (IS_ERR(qcom_iommu->local_base))
+   return PTR_ERR(qcom_iommu->local_base);
+   }
  
  	qcom_iommu->iface_clk = devm_clk_get(dev, "iface");

if (IS_ERR(qcom_iommu->iface_clk)) {
--
2.20.1.windows.1






___
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

Re: Re: [PATCH] iommu/qcom:fix local_base status check

2020-04-08 Thread Tang Bin
> Reviewed-by:Bjorn Andersson 

Thanks for your positive feedback.

Will the patch need any more clarification?Looking forward to your result, 
thank you!



Regards,
Tang Bin
 
From: Bjorn Andersson
Date: 2020-04-02 14:45
To: Tang Bin
CC: agross; robdclark; joro; linux-arm-msm; iommu; linux-kernel
Subject: Re: [PATCH] iommu/qcom:fix local_base status check
On Wed 01 Apr 23:33 PDT 2020, Tang Bin wrote:
 
> Release resources when exiting on error.
> 
 
Reviewed-by: Bjorn Andersson 
 
Regards,
Bjorn
 
> Signed-off-by: Tang Bin 
> ---
>  drivers/iommu/qcom_iommu.c | 5 -
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/iommu/qcom_iommu.c b/drivers/iommu/qcom_iommu.c
> index 4328da0b0..c08aa9651 100644
> --- a/drivers/iommu/qcom_iommu.c
> +++ b/drivers/iommu/qcom_iommu.c
> @@ -813,8 +813,11 @@ static int qcom_iommu_device_probe(struct 
> platform_device *pdev)
>  qcom_iommu->dev = dev;
>  
>  res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> - if (res)
> + if (res) {
>  qcom_iommu->local_base = devm_ioremap_resource(dev, res);
> + if (IS_ERR(qcom_iommu->local_base))
> + return PTR_ERR(qcom_iommu->local_base);
> + }
>  
>  qcom_iommu->iface_clk = devm_clk_get(dev, "iface");
>  if (IS_ERR(qcom_iommu->iface_clk)) {
> -- 
> 2.20.1.windows.1
> 
> 
> 
___
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

[PATCH] iommu/qcom:fix local_base status check

2020-04-02 Thread Tang Bin
Release resources when exiting on error.

Signed-off-by: Tang Bin 
---
 drivers/iommu/qcom_iommu.c | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/iommu/qcom_iommu.c b/drivers/iommu/qcom_iommu.c
index 4328da0b0..c08aa9651 100644
--- a/drivers/iommu/qcom_iommu.c
+++ b/drivers/iommu/qcom_iommu.c
@@ -813,8 +813,11 @@ static int qcom_iommu_device_probe(struct platform_device 
*pdev)
qcom_iommu->dev = dev;
 
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-   if (res)
+   if (res) {
qcom_iommu->local_base = devm_ioremap_resource(dev, res);
+   if (IS_ERR(qcom_iommu->local_base))
+   return PTR_ERR(qcom_iommu->local_base);
+   }
 
qcom_iommu->iface_clk = devm_clk_get(dev, "iface");
if (IS_ERR(qcom_iommu->iface_clk)) {
-- 
2.20.1.windows.1



___
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu