[PATCH v5] crash: Fix crash memory reserve exceed system memory bug

Jinjie Ruan ruanjinjie at huawei.com
Mon Jul 29 04:28:50 PDT 2024



On 2024/7/29 11:29, Baoquan He wrote:
> On 07/29/24 at 11:24am, Jinjie Ruan wrote:
>>
>>
>> On 2024/7/23 13:17, Baoquan He wrote:
>>> On 07/23/24 at 10:07am, Jinjie Ruan wrote:
>>>> On x86_32 Qemu machine with 1GB memory, the cmdline "crashkernel=4G" is ok
>>>> as below:
>>>> 	crashkernel reserved: 0x0000000020000000 - 0x0000000120000000 (4096 MB)
>>>>
>>>> It's similar on other architectures, such as ARM32 and RISCV32.
>>>>
>>>> The cause is that the crash_size is parsed and printed with "unsigned long
>>>> long" data type which is 8 bytes but allocated used with "phys_addr_t"
>>>> which is 4 bytes in memblock_phys_alloc_range().
>>>>
>>>> Fix it by checking if crash_size is greater than system RAM size and
>>>> return error if so.
>>>>
>>>> After this patch, there is no above confusing reserve success info.
>>>>
>>>> Signed-off-by: Jinjie Ruan <ruanjinjie at huawei.com>
>>>> Suggested-by: Baoquan He <bhe at redhat.com>
>>>> Suggested-by: Mike Rapoport <rppt at kernel.org>
>>>
>>>
>>> My Suggested-by can be taken off because I suggested to check the parsed
>>> value after parse_crashkernel(), Mike's suggestion is better.
>>
>> Hi, Can the suggested-by be removed when this version is merged, or a
>> new version needs to be sent?
> 
> You can send a new one and CC Andrew.

Thank you!

> 
> 



More information about the linux-riscv mailing list