Bug 204645 - Unable to boot from internal M2 with 5.3-rc5 after a90118c445cc7f07781de26a9684d4ec58bfcfd1
Summary: Unable to boot from internal M2 with 5.3-rc5 after a90118c445cc7f07781de26a96...
Alias: None
Product: EFI
Classification: Unclassified
Component: Boot (show other bugs)
Hardware: x86-64 Linux
: P1 normal
Assignee: EFI Virtual User
Depends on:
Reported: 2019-08-21 16:29 UTC by Neil MacLeod
Modified: 2019-08-27 23:22 UTC (History)
0 users

See Also:
Kernel Version: 5.3-rc5
Tree: Mainline
Regression: No


Description Neil MacLeod 2019-08-21 16:29:19 UTC
System: Intel i5 Skylake NUC (NUC6i5SYH)

This system boots fine from internal M2 (128GB) drive with 5.3-rc4.

With 5.3-rc5, it does not boot from M2 and is stuck on the Intel splash screen (no other text is displayed, no panic etc.). It will boot 5.3-rc5 from a USB flash memory stick (via the F10 boot menu), but not from the internal M2.

Bisecting between 5.3-rc4 and 5.3-rc5, the bad commit is:

neil@nm-linux:~/projects/pullrequest_repos/torvalds-linux$ git bisect bad
a90118c445cc7f07781de26a9684d4ec58bfcfd1 is the first bad commit
commit a90118c445cc7f07781de26a9684d4ec58bfcfd1
Author: John Hubbard <jhubbard@nvidia.com>
Date:   Tue Jul 30 22:46:27 2019 -0700

    x86/boot: Save fields explicitly, zero out everything else

    Recent gcc compilers (gcc 9.1) generate warnings about an out of bounds
    memset, if the memset goes accross several fields of a struct. This
    generated a couple of warnings on x86_64 builds in sanitize_boot_params().

    Fix this by explicitly saving the fields in struct boot_params
    that are intended to be preserved, and zeroing all the rest.

    [ tglx: Tagged for stable as it breaks the warning free build there as well ]

    Suggested-by: Thomas Gleixner <tglx@linutronix.de>
    Suggested-by: H. Peter Anvin <hpa@zytor.com>
    Signed-off-by: John Hubbard <jhubbard@nvidia.com>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Cc: stable@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190731054627.5627-2-jhubbard@nvidia.com

:040000 040000 e0963edca990540dd759765a3d765af4698df892 d07e645eb3a500c31bd65526205e286ff6941187 M      arch
Comment 1 Neil MacLeod 2019-08-21 16:31:35 UTC
The kernel is built with gcc-9.2.0.
Comment 2 Neil MacLeod 2019-08-21 16:55:48 UTC
5.3-rc5 with "x86/boot: Save fields explicitly, zero out everything else" reverted will build with gcc-9.2.0, and boot from M2.
Comment 3 Neil MacLeod 2019-08-22 01:37:46 UTC
This should be fixed in 5.3-rc6 with https://lkml.org/lkml/2019/8/21/940
Comment 4 Neil MacLeod 2019-08-27 23:22:21 UTC
Fixed in 5.3-rc6. Many thanks!

Note You need to log in before you can comment on or make changes to this bug.