mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: kingdix10@qq.com
To: marek.vasut+renesas@gmail.com, yoshihiro.shimoda.uh@renesas.com,
	lpieralisi@kernel.org, kw@linux.com,
	manivannan.sadhasivam@linaro.org, robh@kernel.org,
	bhelgaas@google.com, prabhakar.csengg@gmail.com,
	biju.das.jz@bp.renesas.com, geert@linux-m68k.org,
	prabhakar.mahadev-lad.rj@bp.renesas.com
Cc: linux-pci@vger.kernel.org, linux-renesas-soc@vger.kernel.org,
	linux-kernel@vger.kernel.org, King Dix <kingdix10@qq.com>
Subject: [PATCH v5] PCI: rcar-ep: Fix the issue of the name parameter when calling devm_request_mem_region()
Date: Thu,  9 Jan 2025 08:50:18 +0800	[thread overview]
Message-ID: <tencent_DBDCC19D60F361119E76919ADAB25EC13C06@qq.com> (raw)

From: King Dix <kingdix10@qq.com>

When using devm_request_mem_region() to request a resource and the name
parameter is a stack string variable, it may cause errors when executing
the command `cat /proc/iomem`. Depending on the content of the memory, the
manifestations of errors may vary. One possible output may be as follows:

$ cat /proc/iomem
30000000-37ffffff :
38000000-3fffffff :

Another possibility is that garbage characters may appear after the colon.
In very rare cases, if no NUL-terminator is found in memory, the system
might crash because the string iterator may access unmapped memory above
the stack.

Fix this by replacing outbound_name with the name of the previously
requested resource. With the patch applied, the output is as follows:

$ cat /proc/iomem
30000000-37ffffff : memory2
38000000-3fffffff : memory3

Fixes: 2a6d0d63d999 ("PCI: rcar: Add endpoint mode support")

Signed-off-by: King Dix <kingdix10@qq.com>
Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Tested-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
---
Changes in v5:
  - Add examples of error outputs to the comment.
Changes in v4:
  - Add more information to the comment.
Changes in v3:
  - Fix the spelling issue in the comment.
Changes in v2:
  - Fix the code indentation issue.
---
 drivers/pci/controller/pcie-rcar-ep.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/pci/controller/pcie-rcar-ep.c b/drivers/pci/controller/pcie-rcar-ep.c
index 047e2cef5afc..c5e0d025bc43 100644
--- a/drivers/pci/controller/pcie-rcar-ep.c
+++ b/drivers/pci/controller/pcie-rcar-ep.c
@@ -107,7 +107,7 @@ static int rcar_pcie_parse_outbound_ranges(struct rcar_pcie_endpoint *ep,
 		}
 		if (!devm_request_mem_region(&pdev->dev, res->start,
 					     resource_size(res),
-					     outbound_name)) {
+					     res->name)) {
 			dev_err(pcie->dev, "Cannot request memory region %s.\n",
 				outbound_name);
 			return -EIO;
-- 
2.43.0


             reply	other threads:[~2025-01-09  0:53 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-01-09  0:50 kingdix10 [this message]
2025-01-15 11:21 ` Krzysztof Wilczyński

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=tencent_DBDCC19D60F361119E76919ADAB25EC13C06@qq.com \
    --to=kingdix10@qq.com \
    --cc=bhelgaas@google.com \
    --cc=biju.das.jz@bp.renesas.com \
    --cc=geert@linux-m68k.org \
    --cc=kw@linux.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=linux-renesas-soc@vger.kernel.org \
    --cc=lpieralisi@kernel.org \
    --cc=manivannan.sadhasivam@linaro.org \
    --cc=marek.vasut+renesas@gmail.com \
    --cc=prabhakar.csengg@gmail.com \
    --cc=prabhakar.mahadev-lad.rj@bp.renesas.com \
    --cc=robh@kernel.org \
    --cc=yoshihiro.shimoda.uh@renesas.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®