riscv: Prevent a bad reference count on CPU nodes
When populating cache leaves we previously fetched the CPU device node at the very beginning. But when ACPI is enabled we go through a specific branch which returns early and does not call 'of_node_put' for the node that was acquired. Since we are not using a CPU device node for the ACPI code anyways, we can simply move the initialization of it just passed the ACPI block, and we are guaranteed to have an 'of_node_put' call for the acquired node. This prevents a bad reference count of the CPU device node. Moreover, the previous function did not check for errors when acquiring the device node, so a return -ENOENT has been added for that case. Signed-off-by:Miquel Sabaté Solà <mikisabate@gmail.com> Reviewed-by:
Sudeep Holla <sudeep.holla@arm.com> Reviewed-by:
Sunil V L <sunilvl@ventanamicro.com> Reviewed-by:
Alexandre Ghiti <alexghiti@rivosinc.com> Fixes: 604f32ea ("riscv: cacheinfo: initialize cacheinfo's level and type from ACPI PPTT") Cc: stable@vger.kernel.org Link: https://lore.kernel.org/r/20240913080053.36636-1-mikisabate@gmail.com Signed-off-by:
Palmer Dabbelt <palmer@rivosinc.com>
Loading
Please register or sign in to comment