lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <CO61XSIISI9G.PHZVHP50ZWUU@bobo>
Date:   Mon, 07 Nov 2022 22:11:17 +1000
From:   "Nicholas Piggin" <npiggin@...il.com>
To:     "Laurent Dufour" <ldufour@...ux.ibm.com>, <mpe@...erman.id.au>,
        <christophe.leroy@...roup.eu>
Cc:     <linuxppc-dev@...ts.ozlabs.org>, <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 1/2] powerpc: export the CPU node count

On Sat Oct 29, 2022 at 2:00 AM AEST, Laurent Dufour wrote:
> At boot time, the FDT is parsed to compute the number of CPUs.
> In addition count the number of CPU nodes and export it.
>
> This is useful when building the FDT for a kexeced kernel since we need to
> take in account the CPU node added since the boot time during CPU hotplug
> operations.

It would be nice if it just realloced memory in this case, but that
looks like a bigger change.

But these patches look okay to me, if you can solve the compile bug.

Thanks,
Nick

>
> Signed-off-by: Laurent Dufour <ldufour@...ux.ibm.com>
> ---
>  arch/powerpc/include/asm/kexec_ranges.h | 2 ++
>  arch/powerpc/kernel/prom.c              | 4 ++++
>  2 files changed, 6 insertions(+)
>
> diff --git a/arch/powerpc/include/asm/kexec_ranges.h b/arch/powerpc/include/asm/kexec_ranges.h
> index f83866a19e87..bf35d00ddd09 100644
> --- a/arch/powerpc/include/asm/kexec_ranges.h
> +++ b/arch/powerpc/include/asm/kexec_ranges.h
> @@ -22,4 +22,6 @@ int add_rtas_mem_range(struct crash_mem **mem_ranges);
>  int add_opal_mem_range(struct crash_mem **mem_ranges);
>  int add_reserved_mem_ranges(struct crash_mem **mem_ranges);
>  
> +extern unsigned int boot_cpu_node_count;
> +
>  #endif /* _ASM_POWERPC_KEXEC_RANGES_H */
> diff --git a/arch/powerpc/kernel/prom.c b/arch/powerpc/kernel/prom.c
> index 1eed87d954ba..d326148fd5a4 100644
> --- a/arch/powerpc/kernel/prom.c
> +++ b/arch/powerpc/kernel/prom.c
> @@ -56,6 +56,7 @@
>  #include <asm/drmem.h>
>  #include <asm/ultravisor.h>
>  #include <asm/prom.h>
> +#include <asm/kexec_ranges.h>
>  
>  #include <mm/mmu_decl.h>
>  
> @@ -72,6 +73,7 @@ int __initdata iommu_is_off;
>  int __initdata iommu_force_on;
>  unsigned long tce_alloc_start, tce_alloc_end;
>  u64 ppc64_rma_size;
> +unsigned int boot_cpu_node_count __ro_after_init;
>  #endif
>  static phys_addr_t first_memblock_size;
>  static int __initdata boot_cpu_count;
> @@ -335,6 +337,8 @@ static int __init early_init_dt_scan_cpus(unsigned long node,
>  	if (type == NULL || strcmp(type, "cpu") != 0)
>  		return 0;
>  
> +	boot_cpu_node_count++;
> +
>  	/* Get physical cpuid */
>  	intserv = of_get_flat_dt_prop(node, "ibm,ppc-interrupt-server#s", &len);
>  	if (!intserv)
> -- 
> 2.38.1

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ