[Bug report] Kernel 5.7 become unbootable

From: Mikhail Gavrilov
Date: Thu Apr 09 2020 - 15:12:15 EST


Hi folks.
I use Fedora Rawhide and today's update came with the new kernel
5.7.0-0.rc0.git6.1.
As it turned out this kernel won't boot. Instead, I see the black
screen and some times see messages:
exit_boot() failed!
efi_main() failed!

The last working kernel is kernel-core-5.7.0-0.rc0.git2.1

I looked at the spec file and found out that the last bootable kernel
was related to the commit cad18da0afb1
(https://src.fedoraproject.org/rpms/kernel/c/9949db6070c6ca501d7235760ca8aba120db7448?branch=master),
and the first non-bootable kernel related to the commit a10c9c710f9e
(https://src.fedoraproject.org/rpms/kernel/c/0561e0bf0e459dd4b27a77670de838128b87bd0e?branch=master)

Of course, knowing these two commits, I made bisecting with the vanilla kernel:

$ git bisect log
git bisect start
# good: [cad18da0afb1bc7b37d73a74067ab7ff5974897c] Merge tag
'please-pull-ia64_for_5.7' of
git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux
git bisect good cad18da0afb1bc7b37d73a74067ab7ff5974897c
# bad: [a10c9c710f9ecea87b9f4bbb837467893b4bef01] Merge tag 'for-v5.7'
of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply
git bisect bad a10c9c710f9ecea87b9f4bbb837467893b4bef01
# bad: [f365ab31efacb70bed1e821f7435626e0b2528a6] Merge tag
'drm-next-2020-04-01' of git://anongit.freedesktop.org/drm/drm
git bisect bad f365ab31efacb70bed1e821f7435626e0b2528a6
# good: [7f80ccfe996871ca69648efee74a60ae7ad0dcd9] net: ipv6:
rpl_iptunnel: Fix potential memory leak in rpl_do_srh_inline
git bisect good 7f80ccfe996871ca69648efee74a60ae7ad0dcd9
# good: [9001b17698d86f842e2b13e0cafe8021d43209e9] Merge tag
'drm-intel-next-2020-03-13' of
git://anongit.freedesktop.org/drm/drm-intel into drm-next
git bisect good 9001b17698d86f842e2b13e0cafe8021d43209e9
# bad: [dfabb077d62552797ca0ae7756cb30d3e195ead5] Merge tag 'mmc-v5.7'
of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc
git bisect bad dfabb077d62552797ca0ae7756cb30d3e195ead5
# bad: [15c981d16d70e8a5be297fa4af07a64ab7e080ed] Merge tag
'for-5.7-tag' of
git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux
git bisect bad 15c981d16d70e8a5be297fa4af07a64ab7e080ed
# good: [dc9492c14c758639d7b2468d4ed3c77e785c1a35] btrfs: hold a ref
on the root on the dead roots list
git bisect good dc9492c14c758639d7b2468d4ed3c77e785c1a35
# good: [3cd86a58f7734bf9cef38f6f899608ebcaa3da13] Merge tag
'arm64-upstream' of
git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux
git bisect good 3cd86a58f7734bf9cef38f6f899608ebcaa3da13
# bad: [fdf5563a720004199324371c08071b8ea27bd994] Merge branch
'x86-cleanups-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
git bisect bad fdf5563a720004199324371c08071b8ea27bd994
# skip: [cf122cfba5b1d9daf64009d143f51dfec4b1705a] kill uaccess_try()
git bisect skip cf122cfba5b1d9daf64009d143f51dfec4b1705a
# skip: [4dd2a1b92b91b5f2acf853ee1dc0df135054698f] x86: Replace
setup_irq() by request_irq()
git bisect skip 4dd2a1b92b91b5f2acf853ee1dc0df135054698f
# skip: [5c1f178094631e8b9acc67e4a9b6e03abfbc2529] x86:
__setup_frame(): consolidate uaccess areas
git bisect skip 5c1f178094631e8b9acc67e4a9b6e03abfbc2529
# skip: [3add42c29cebb1d5f83c6205c59466a06ccf8da1] x86: get rid of
get_user_ex() in restore_sigcontext()
git bisect skip 3add42c29cebb1d5f83c6205c59466a06ccf8da1
# skip: [ead8e4e7e2c75ced6fcd9a53d3e9a2ecd7368553] x86:
__setup_rt_frame(): consolidate uaccess areas
git bisect skip ead8e4e7e2c75ced6fcd9a53d3e9a2ecd7368553
# skip: [31a9122058bc5f042cb04bcdb8cd9e6c77fdae8d] x86/mm: Drop
pud_mknotpresent()
git bisect skip 31a9122058bc5f042cb04bcdb8cd9e6c77fdae8d
# skip: [791612e9668cecbf5dd24d13400ac74e099f005c] x86:
x32_setup_rt_frame(): consolidate uaccess areas
git bisect skip 791612e9668cecbf5dd24d13400ac74e099f005c
# skip: [77f3c6166ddc7567455b244074b3ebb63862b56f] x86: kill
get_user_{try,catch,ex}
git bisect skip 77f3c6166ddc7567455b244074b3ebb63862b56f
# skip: [b00d8f8f0b2b39223c3fd6713d318aba95420264] x86:
setup_sigcontext(): list user_access_{begin,end}() into callers
git bisect skip b00d8f8f0b2b39223c3fd6713d318aba95420264
# skip: [0e79ad863df43b01090ae18c97de5c3787f069c6] x86/cpu: Fix a
-Wmissing-prototypes warning for init_ia32_feat_ctl()
git bisect skip 0e79ad863df43b01090ae18c97de5c3787f069c6
# skip: [b87df6594486626a9ae5944807307f2604cea3e2] x86:
unsafe_put-style macro for sigmask
git bisect skip b87df6594486626a9ae5944807307f2604cea3e2
# skip: [a37d01ead405e3aa14d72d284721fe46422b3b63] x86: switch
save_v86_state() to unsafe_put_user()
git bisect skip a37d01ead405e3aa14d72d284721fe46422b3b63
# skip: [119cd59fcfbe70fb3fcab4e64cd232bcc3807585] x86: get rid of
put_user_try in __setup_rt_frame() (both 32bit and 64bit)
git bisect skip 119cd59fcfbe70fb3fcab4e64cd232bcc3807585
# skip: [119cd59fcfbe70fb3fcab4e64cd232bcc3807585] x86: get rid of
put_user_try in __setup_rt_frame() (both 32bit and 64bit)
git bisect skip 119cd59fcfbe70fb3fcab4e64cd232bcc3807585
# bad: [9589351ccf47a85a75180a430627c16bc28da929] Merge branch
'x86-boot-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
git bisect bad 9589351ccf47a85a75180a430627c16bc28da929
# skip: [003602ad5516e59940de42e44c8d8033387bb363] x86/*/Makefile: Use
-fno-asynchronous-unwind-tables to suppress .eh_frame sections
git bisect skip 003602ad5516e59940de42e44c8d8033387bb363
# skip: [0eea39a234dc52063d14541fabcb2c64516a2328]
x86/boot/compressed: Remove .eh_frame section from bzImage
git bisect skip 0eea39a234dc52063d14541fabcb2c64516a2328
# skip: [bac59d18c7018a2fd5e800a1e72a8271bf404977] x86/setup: Fix
static memory detection
git bisect skip bac59d18c7018a2fd5e800a1e72a8271bf404977
# skip: [3ee372ccce4d4e7c610748d0583979d3ed3a0cf4]
x86/boot/compressed/64: Remove .bss/.pgtable from bzImage
git bisect skip 3ee372ccce4d4e7c610748d0583979d3ed3a0cf4
# skip: [a86255fe5258714e1f7c1bdfe95f08e4d098d450]
x86/boot/compressed/64: Use 32-bit (zero-extended) MOV for
z_output_len
git bisect skip a86255fe5258714e1f7c1bdfe95f08e4d098d450
# skip: [6f8f0dc980028e98ae339876a8403edae4d20e39] x86/vmlinux: Drop
unneeded linker script discard of .eh_frame
git bisect skip 6f8f0dc980028e98ae339876a8403edae4d20e39
# skip: [48bfdb9deffdc6b683feb25e15f4f26aac503501]
x86/boot/compressed/64: Use LEA to initialize boot stack pointer
git bisect skip 48bfdb9deffdc6b683feb25e15f4f26aac503501
# skip: [c90beea22a2bece4b0bbb39789bf835504421594]
x86/boot/compressed: Fix debug_puthex() parameter type
git bisect skip c90beea22a2bece4b0bbb39789bf835504421594
# only skipped commits left to test
# possible first bad commit:
[9589351ccf47a85a75180a430627c16bc28da929] Merge branch
'x86-boot-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
# possible first bad commit:
[c90beea22a2bece4b0bbb39789bf835504421594] x86/boot/compressed: Fix
debug_puthex() parameter type
# possible first bad commit:
[bac59d18c7018a2fd5e800a1e72a8271bf404977] x86/setup: Fix static
memory detection
# possible first bad commit:
[6f8f0dc980028e98ae339876a8403edae4d20e39] x86/vmlinux: Drop unneeded
linker script discard of .eh_frame
# possible first bad commit:
[003602ad5516e59940de42e44c8d8033387bb363] x86/*/Makefile: Use
-fno-asynchronous-unwind-tables to suppress .eh_frame sections
# possible first bad commit:
[0eea39a234dc52063d14541fabcb2c64516a2328] x86/boot/compressed: Remove
.eh_frame section from bzImage
# possible first bad commit:
[3ee372ccce4d4e7c610748d0583979d3ed3a0cf4] x86/boot/compressed/64:
Remove .bss/.pgtable from bzImage
# possible first bad commit:
[a86255fe5258714e1f7c1bdfe95f08e4d098d450] x86/boot/compressed/64: Use
32-bit (zero-extended) MOV for z_output_len
# possible first bad commit:
[48bfdb9deffdc6b683feb25e15f4f26aac503501] x86/boot/compressed/64: Use
LEA to initialize boot stack pointer

Unfortunately, kernel bisecting not telling exactly which commit is blame.
In my bisecting a lot of skipping commits because of the unsuccessful builds:
ld: arch/x86/boot/compressed/pgtable_64.o:(.bss+0x0): multiple
definition of `__force_order';
arch/x86/boot/compressed/kaslr_64.o:(.bss+0x0): first defined here
make[2]: *** [arch/x86/boot/compressed/Makefile:120:
arch/x86/boot/compressed/vmlinux] Error 1
make[1]: *** [arch/x86/boot/Makefile:114:
arch/x86/boot/compressed/vmlinux] Error 2
make: *** [arch/x86/Makefile:283: bzImage] Error 2

Can anyone here help me with this issue?

Thanks.

Downstream bugreport:
https://bugzilla.redhat.com/show_bug.cgi?id=1822731

--
Best Regards,
Mike Gavrilov.