I have a Samsung 500C "Alex" Chromebook. Between v4.17 and v4.18 a regression was introduced in the kernel that immediately crashes it, leading to a reboot loop before any output is shown. I have bisected it. The the first bad commit is: x86/boot/compressed/64: Validate trampoline placement against E820 There were two report of boot failure cased by trampoline placed into a reserved memory region. It can happen on machines that don't report EBDA correctly. Fix the problem by re-validating the found address against the E820 table. If the address is in a reserved area, find the next usable region below the initial address. Fixes: 3548e131ec6a ("x86/boot/compressed/64: Find a place for 32-bit trampoline") Reported-by: Dmitry Malkin <d.malkin@real-time-systems.com> Reported-by: youling 257 <youling257@gmail.com> Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: "H. Peter Anvin" <hpa@zytor.com> Link: https://lkml.kernel.org/r/20180801133225.38121-1-kirill.shutemov@linux.intel.com The issue is also still present on v5.1-rc7. This machine, like other Chromebooks, uses EFI and some kernel signing stuff. kexec'ing from an older kernel works, but direct boot is totally broken. I am available to try out patches that fix it.
Possibly related: bug 202351
Note that reverting the commit in question 1b3a62643660020cdc68e6139a010c06e8fc96c7 x86/boot/compressed/64: Validate trampoline placement against E820 and fixing the merge conflicts created by deletion makes v5.1-rc7 boot successfully.
Sorry for this. Could you share dmesg for a successful boot of the machine?
Created attachment 282643 [details] Wokring dmesg on 5.1.0-rc7 with problematic commit reverted I have attached the working dmesg. Thanks a lot for looking at this!
Just a short ping on this, as I still have the device around currently and would like to help.
Could you check again the uptodate kernel?
Hey Kirill, I've tried with v5.3-rc3, but the problem persists as before. Reverting the commit mentioned above continues to fix it.
Created attachment 284339 [details] Patch poposal Could you give this a try?
This makes it work. (I tried on v5.3-rc3.) Awesome!
Posted upstream: https://lkml.kernel.org/r/20190813131654.24378-1-kirill.shutemov@linux.intel.com
This seems to be released in 5.3. Links (using Github for the convenience that it shows all tags in which the commit is present): * https://github.com/torvalds/linux/commit/0a46fff2f9108c2c44218380a43a736cf4612541 * https://github.com/torvalds/linux/commit/c96e8483cb2da6695c8b8d0896fe7ae272a07b54 * the merge that pulled it in: https://github.com/torvalds/linux/commit/146c3d3220e039b5d61bf810e0b42218eb020f39 There also seems to be a backport to Linux 5.2.14: https://lwn.net/Articles/798885/ I'll try out the released kernels once back at that machine (earliest in 2 weeks).
There's also a backport to v4.19.72. Closing; thanks again Kirill for fixing this!