Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix kernel version macros for revision numbers over 255
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. Reported-by: Luiz Capitulino <luizcap@amazon.com> Tested-by: Luiz Capitulino <luizcap@amazon.com> Signed-off-by: Kazuhito Hagio <k-hagio-ab@nec.com>
- Loading branch information