Re: [PATCH v2] RISC-V: Mark IORESOURCE_EXCLUSIVE for reserved mem instead of IORESOURCE_BUSY

From: Xianting Tian
Date: Mon May 16 2022 - 05:11:51 EST



在 2022/5/16 下午5:03, Conor.Dooley@xxxxxxxxxxxxx 写道:
On 16/05/2022 09:50, Xianting Tian wrote:
EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe

Hi

Could I get any comments for the v2 patch, thanks
Looks like you have 3 Reviewed-bys already & there's only been one full
working day since you sent the patch, probably just worth waiting a little
for Palmer to get around to picking it up :)
Thanks,
Conor.

thanks :)

I just saw Heiko Stuebner gaved Review-by on patchwork.kernel.org, but I didn't received the mail.

Let's wait Palmer to pick up.

在 2022/5/12 下午2:09, Xianting Tian 写道:
Commit 00ab027a3b82 ("RISC-V: Add kernel image sections to the resource tree")
marked IORESOURCE_BUSY for reserved memory, which casued resource map
failed in subsequent operations of related driver, so remove the
IORESOURCE_BUSY flag. In order to prohibit userland mapping reserved
memory, mark IORESOURCE_EXCLUSIVE for it.

The code to reproduce the issue,
dts:
         mem0: memory@a0000000 {
                 reg = <0x0 0xa0000000 0 0x1000000>;
                 no-map;
         };

         &test {
                 status = "okay";
                 memory-region = <&mem0>;
         };

code:
         np = of_parse_phandle(pdev->dev.of_node, "memory-region", 0);
         ret = of_address_to_resource(np, 0, &r);
         base = devm_ioremap_resource(&pdev->dev, &r);
         // base = -EBUSY

Fixes: 00ab027a3b82 ("RISC-V: Add kernel image sections to the resource tree")
Reported-by: Huaming Jiang <jianghuaming.jhm@xxxxxxxxxxxxxxx>
Reviewed-by: Guo Ren <guoren@xxxxxxxxxx>
Reviewed-by: Nick Kossifidis <mick@xxxxxxxxxxxx>
Signed-off-by: Xianting Tian <xianting.tian@xxxxxxxxxxxxxxxxx>
---
  arch/riscv/kernel/setup.c | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/riscv/kernel/setup.c b/arch/riscv/kernel/setup.c
index 834eb652a7b9..e0a00739bd13 100644
--- a/arch/riscv/kernel/setup.c
+++ b/arch/riscv/kernel/setup.c
@@ -189,7 +189,7 @@ static void __init init_resources(void)
              res = &mem_res[res_idx--];

              res->name = "Reserved";
-             res->flags = IORESOURCE_MEM | IORESOURCE_BUSY;
+             res->flags = IORESOURCE_MEM | IORESOURCE_EXCLUSIVE;
              res->start = __pfn_to_phys(memblock_region_reserved_base_pfn(region));
              res->end = __pfn_to_phys(memblock_region_reserved_end_pfn(region)) - 1;

@@ -214,7 +214,7 @@ static void __init init_resources(void)

              if (unlikely(memblock_is_nomap(region))) {
                      res->name = "Reserved";
-                     res->flags = IORESOURCE_MEM | IORESOURCE_BUSY;
+                     res->flags = IORESOURCE_MEM | IORESOURCE_EXCLUSIVE;
              } else {
                      res->name = "System RAM";
                      res->flags = IORESOURCE_SYSTEM_RAM | IORESOURCE_BUSY;
_______________________________________________
linux-riscv mailing list
linux-riscv@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/linux-riscv