[Crash-utility] [PATCH] Fix kernel version macros for revision numbers over 255

HAGIO KAZUHITO(萩尾 一仁) k-hagio-ab at nec.com
Thu May 11 00:55:03 UTC 2023


On 2023/05/11 3:02, Luiz Capitulino wrote:
> 
> 
> On 2023-05-10 03:09, HAGIO KAZUHITO(萩尾 一仁) wrote:
>> CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you can confirm the sender and know the content is safe.
>>
>>
>>
>> From: Kazuhito Hagio <k-hagio-ab at nec.com>
>>
>> The current comparison macros for kernel version shift minor number only
>> 8 bits.  This can cause an unexpected result on kernels with revision
>> number over 255, e.g. Linux 4.14.314.
>>
>> In fact, on Linux 4.14.314 for x86_64 without CONFIG_RANDOMIZE_BASE=y
>> (KASLR), the following condition became false in x86_64_init().
>>
>>      ((THIS_KERNEL_VERSION >= LINUX(4,14,84)) &&
>>       (THIS_KERNEL_VERSION < LINUX(4,15,0)))
>>
>> As a result, crash used a wrong hard-coded value for PAGE_OFFSET and
>> failed to start a session with the following seek error.
>>
>>    crash: seek error: physical address: 200e000  type: "pud page"
>>
>> Shift the major and minor number by 24 and 16 bits respectively to fix
>> this issue.
> 
> This fixes the issue for me. The only detail is that I couldn't apply
> this patch to latest crash HEAD 2505a65ff5471 so I applied it manually.

oh, what happened.  at my end, the email could be applied cleanly.

> 
> Thank you very much, Kazu!
> 
> Tested-by: Luiz Capitulino <luizcap at amazon.com>

Anyway, thank you for the report and test!

Kazu


More information about the Crash-utility mailing list