Re: [Patch 2/7] x86: implement crashkernel=auto

Amerigo Wang
2009-08-06T01:54:44Z

Yu, Fenghua wrote:
>> +#ifdef CONFIG_KEXEC_AUTO_RESERVE
>> + if (strncmp(ck_cmdline, "auto", 4) == 0) {
>> + unsigned long long size;
>> + char tmp[32];
>> +
>> + size = arch_default_crash_size(system_ram);
>> + if (size != 0) {
>> + *crash_size = size;
>> + *crash_base = arch_default_crash_base();
>> + size = scnprintf(tmp, sizeof(tmp), "%luM@%luM",
>> + (unsigned long)(*crash_size)>>20,
>> + (unsigned long)(*crash_base)>>20);
>> + /* size can't be <= 4. */
>> + if (likely((size - 4 + strlen(cmdline))
>> + < COMMAND_LINE_SIZE - 1)) {
>> + memmove(ck_cmdline + size, ck_cmdline + 4,
>> + strlen(cmdline) - (ck_cmdline + 4 - cmdline)
>> + 1);
>> + memcpy(ck_cmdline, tmp, size);
>> + }
>>
>
> Here the variable "size" has two different meanings. First it used for crash size. Then its meaning is changed to buffer size in ck_cmdline. And types are different too. The type for crash size is unsigned long long. But scnprintf() return int.
>
> Could you use two variables to represent the two meanings for less confusion?
>

Sure, OK, will do.

Thanks.