diff mbox series

[2/2] fadump: reserve param area if below boot_mem_top

Message ID 20241104083528.99520-2-sourabhjain@linux.ibm.com (mailing list archive)
State Superseded
Headers show
Series [1/2] powerpc/fadump: allocate memory for additional parameters early | expand

Commit Message

Sourabh Jain Nov. 4, 2024, 8:35 a.m. UTC
The param area is a memory region where the kernel places additional
command-line arguments for fadump kernel. Currently, the param memory
area is reserved in fadump kernel if it is above boot_mem_top. However,
it should be reserved if it is below boot_mem_top because the fadump
kernel already reserves memory from boot_mem_top to the end of DRAM.

Currently, there is no impact from not reserving param memory if it is
below boot_mem_top, as it is not used after the early boot phase of the
fadump kernel. However, if this changes in the future, it could lead t
issues in the fadump kernel.

Cc: Mahesh Salgaonkar <mahesh@linux.ibm.com>
Cc: Hari Bathini <hbathini@linux.ibm.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Sourabh Jain <sourabhjain@linux.ibm.com>
---
 arch/powerpc/kernel/fadump.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Hari Bathini Nov. 4, 2024, 10:20 a.m. UTC | #1
On 04/11/24 2:05 pm, Sourabh Jain wrote:
> The param area is a memory region where the kernel places additional
> command-line arguments for fadump kernel. Currently, the param memory
> area is reserved in fadump kernel if it is above boot_mem_top. However,
> it should be reserved if it is below boot_mem_top because the fadump
> kernel already reserves memory from boot_mem_top to the end of DRAM.
> 
> Currently, there is no impact from not reserving param memory if it is
> below boot_mem_top, as it is not used after the early boot phase of the
> fadump kernel. However, if this changes in the future, it could lead t
> issues in the fadump kernel.
> 

Looks good to me.

Acked-by: Hari Bathini <hbathini@linux.ibm.com>

> Cc: Mahesh Salgaonkar <mahesh@linux.ibm.com>
> Cc: Hari Bathini <hbathini@linux.ibm.com>
> Cc: Michael Ellerman <mpe@ellerman.id.au>
> Signed-off-by: Sourabh Jain <sourabhjain@linux.ibm.com>
> ---
>   arch/powerpc/kernel/fadump.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/powerpc/kernel/fadump.c b/arch/powerpc/kernel/fadump.c
> index 4a3f80f42118..35a8a107e16b 100644
> --- a/arch/powerpc/kernel/fadump.c
> +++ b/arch/powerpc/kernel/fadump.c
> @@ -143,7 +143,7 @@ void __init fadump_append_bootargs(void)
>   	if (!fw_dump.dump_active || !fw_dump.param_area_supported || !fw_dump.param_area)
>   		return;
>   
> -	if (fw_dump.param_area >= fw_dump.boot_mem_top) {
> +	if (fw_dump.param_area < fw_dump.boot_mem_top) {
>   		if (memblock_reserve(fw_dump.param_area, COMMAND_LINE_SIZE)) {
>   			pr_warn("WARNING: Can't use additional parameters area!\n");
>   			fw_dump.param_area = 0;
Sourabh Jain Nov. 5, 2024, 2:49 a.m. UTC | #2
Hello Hari,


On 04/11/24 15:50, Hari Bathini wrote:
>
>
> On 04/11/24 2:05 pm, Sourabh Jain wrote:
>> The param area is a memory region where the kernel places additional
>> command-line arguments for fadump kernel. Currently, the param memory
>> area is reserved in fadump kernel if it is above boot_mem_top. However,
>> it should be reserved if it is below boot_mem_top because the fadump
>> kernel already reserves memory from boot_mem_top to the end of DRAM.
>>
>> Currently, there is no impact from not reserving param memory if it is
>> below boot_mem_top, as it is not used after the early boot phase of the
>> fadump kernel. However, if this changes in the future, it could lead t
>> issues in the fadump kernel.
>>
>
> Looks good to me.
>
> Acked-by: Hari Bathini <hbathini@linux.ibm.com>

Thanks for Ack.


- Sourabh Jain

>
>> Cc: Mahesh Salgaonkar <mahesh@linux.ibm.com>
>> Cc: Hari Bathini <hbathini@linux.ibm.com>
>> Cc: Michael Ellerman <mpe@ellerman.id.au>
>> Signed-off-by: Sourabh Jain <sourabhjain@linux.ibm.com>
>> ---
>>   arch/powerpc/kernel/fadump.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/arch/powerpc/kernel/fadump.c b/arch/powerpc/kernel/fadump.c
>> index 4a3f80f42118..35a8a107e16b 100644
>> --- a/arch/powerpc/kernel/fadump.c
>> +++ b/arch/powerpc/kernel/fadump.c
>> @@ -143,7 +143,7 @@ void __init fadump_append_bootargs(void)
>>       if (!fw_dump.dump_active || !fw_dump.param_area_supported || 
>> !fw_dump.param_area)
>>           return;
>>   -    if (fw_dump.param_area >= fw_dump.boot_mem_top) {
>> +    if (fw_dump.param_area < fw_dump.boot_mem_top) {
>>           if (memblock_reserve(fw_dump.param_area, COMMAND_LINE_SIZE)) {
>>               pr_warn("WARNING: Can't use additional parameters 
>> area!\n");
>>               fw_dump.param_area = 0;
>
diff mbox series

Patch

diff --git a/arch/powerpc/kernel/fadump.c b/arch/powerpc/kernel/fadump.c
index 4a3f80f42118..35a8a107e16b 100644
--- a/arch/powerpc/kernel/fadump.c
+++ b/arch/powerpc/kernel/fadump.c
@@ -143,7 +143,7 @@  void __init fadump_append_bootargs(void)
 	if (!fw_dump.dump_active || !fw_dump.param_area_supported || !fw_dump.param_area)
 		return;
 
-	if (fw_dump.param_area >= fw_dump.boot_mem_top) {
+	if (fw_dump.param_area < fw_dump.boot_mem_top) {
 		if (memblock_reserve(fw_dump.param_area, COMMAND_LINE_SIZE)) {
 			pr_warn("WARNING: Can't use additional parameters area!\n");
 			fw_dump.param_area = 0;