Linux 4.4.0-113.136 (i386/x86_32): failed to boot when 'kaslr' option is in use.

Bug #1748710 reported by daniel CURTIS
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Expired
High
Unassigned
Xenial
Expired
High
Unassigned

Bug Description

Hello.

On Thu Feb 8, Linux kernel for Ubuntu 16.04.3 LTS has been updated to the 4.4.0-113.136 version (xenial-proposed). However, after reboot, plymouth freezes during start, and keys on an USB keyboard were in-active. After several seconds, the BusyBox shell screen appeared. It looks this way:

,------
| BusyBox v1.22.1 (Ubuntu 1:1.22.0-15ubuntu1) built-in shell (ash)
| Enter 'help' for a list of built-in commands.
|
| (initramfs) _
`------

Unfortunately, the USB keyboard does not work and does not respond. The only way to solve this issue is a "hard reset" and in GRUB menu choosing an earlier kernel, which is linux 4.4.0-112.135. Now, everything works okay.

Proposed update to the Linux 4.4.0-113.136 contains many new updates (please see 1.) It's an i386/x86_32 architecture, which does not contain PTI yet, right? I'm asking, because mentioned -proposed updates contains a couple of PTI-related patches and bugs in PTI can cause a few different signatures of crashes etc. For example:

→ Crashes in early boot, especially around CPU bringup. Bugs in the trampoline code or mappings cause these.
→ Userspace segfaults early in boot, sometimes manifesting as mount(8) failing to mount the rootfs. These have tended to be TLB invalidation issues. Usually invalidating the wrong PCID, or otherwise missing an invalidation.

NOTE: if it's about PCID, which is mentioned in a second point, there is one patch in -proposed update: "x86/mm/32: Move setup_clear_cpu_cap(X86_FEATURE_PCID) earlier". Maybe that's is the cause of a boot failure? There are no errors in log files, such as '/var/log/syslog' or '/var/log/kern.log'. However, it's a Celeron, "E" series. So, I don't know if mentioned patches are good for this type of processor etc.? Especially on i386/x86_32 architecture.

● UPDATE/WARNING: It seems, that 'kaslr' option is responsible for this issue. After booting the latest v4.4.0-115.139 kernel, I've had the same problems as described above. However, after removing 'kaslr' option from a command line via GRUB menu, system started normally etc. The latest, working kernel with 'kaslr' option is v4.4.0-112.135. According to all of this I think, that 'kaslr' is not compatible with some "Spectre & Meltdown" mitigation patches and fixes etc.

✗ Release ('/proc/version_signature'): Ubuntu 4.4.0-112.135-generic 4.4.98
✗ Architecture: i386/x86_32
✗ PCI ('lspci -vnvn'): 00:0a.0 PCI bridge [0604]: NVIDIA Corporation MCP73 PCI Express bridge [10de:056d] (rev a1) (prog-if 01 [Subtractive decode]) Capabilities: [b8] Subsystem: Gigabyte Technology Co., Ltd MCP73 PCI Express bridge [1458:026f]

Thanks, regards.
________________

1. https://lists.ubuntu.com/archives/xenial-changes/2018-February/020108.html

daniel CURTIS (anoda)
description: updated
description: updated
tags: added: xenial
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote : Missing required logs.

This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:

apport-collect 1748710

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
Revision history for this message
daniel CURTIS (anoda) wrote : Re: Linux 4.4.0-113.136 (i386/x86_32): failed to boot and BusyBox v1.22.1 built-in shell.

Hi. I can not enter mentioned command, because during system boot plymouth freezes and keyboard is unresponsive. After several seconds plymouth disappears and BusyBox v1.22.1 "console" appears (here, keyboard does not work and does not respond either). The only solution is to use hard reboot and choose an earlier v4.4.0-112.135 Linux kernel in GRUB menu etc.

Maybe I can execute 'apport-collect 1748710' command in v4.4.0-112.135 kernel? But this issue appeared after update to the "-proposed" kernel: v4.4.0-112.135.

Thanks.

Revision history for this message
daniel CURTIS (anoda) wrote :

Please see "Ubuntu Kernel Bot (ubuntu-kernel-bot)" comment and answer.

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
daniel CURTIS (anoda)
description: updated
summary: Linux 4.4.0-113.136 (i386/x86_32): failed to boot and BusyBox v1.22.1
- built-in shell.
+ built-in shell (initramfs).
Revision history for this message
daniel CURTIS (anoda) wrote : Re: Linux 4.4.0-113.136 (i386/x86_32): failed to boot and BusyBox v1.22.1 built-in shell (initramfs).

Hello. There is the same problem with a new, latest Linux 4.4.0-115-generic kernel (updated today). I've tried to boot system with 'nosplash' option (set via GRUB etc.) and it seems, that there is a problem with:

Gave up waiting for root device. Common problems:
 - Boot args (cat /proc/cmdline)
   - Check rootdelay= (did the system wait long enough?)
   - Check root= (did the system wait for the right device?)
 - Missing modules (cat /proc/modules; ls /dev)

ALERT! UUID=* does not exist. Dropping to a shell!

BusyBox v1.22.1 (Ubuntu 1:1.22.0-15ubuntu1) built-in shell (ash)
Enter 'help' for a lost of built-in commands.

(initramfs) _

However, I've decided try to boot v4.4.0-115-generic kernel once again, because above 'ALERT!' message was very interesting for me, but this time, without 'kaslr' option. So, in a GRUB menu I removed this option and press CTRL + x. Everything was okay - system boot normally.

It seems, that there is a problem with a 'kaslr' in latest 16.04 LTS Release kernels (I'm having this problem since update to the v4.4.0-113.136 kernel version.

Should I create a new bug report about 'kaslr' and latest kernel versions?

daniel CURTIS (anoda)
description: updated
tags: added: kaslr
Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

Would it be possible for you to test the latest upstream kernel? Refer to https://wiki.ubuntu.com/KernelMainlineBuilds . Please test the latest v4.16 kernel[0].

If this bug is fixed in the mainline kernel, please add the following tag 'kernel-fixed-upstream'.

If the mainline kernel does not fix this bug, please add the tag: 'kernel-bug-exists-upstream'.

Once testing of the upstream kernel is complete, please mark this bug as "Confirmed".

Thanks in advance.

[0] http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.16-rc1/

Changed in linux (Ubuntu):
importance: Undecided → High
tags: added: pti
Changed in linux (Ubuntu Xenial):
status: New → Incomplete
Changed in linux (Ubuntu):
status: Confirmed → Incomplete
Changed in linux (Ubuntu Xenial):
importance: Undecided → High
Revision history for this message
daniel CURTIS (anoda) wrote :

Good day, Mr Salisbury.

Yes, I can test the latest kernel, but I have a few very naive questions (I just want to be sure for one hundred percent etc.) So, because it's an i386/x86_32 architecture I should:

✗ download 'linux-headers-4.16.0-041600rc1-generic_4.16.0-041600rc1.201802120030_i386.deb' and 'linux-image-4.16.0-041600rc1-generic_4.16.0-041600rc1.201802120030_i386.deb' packages;
✗ use, for example, dpkg(1) command to install these two packages ($ sudo dpkg -i ...);
✗ add "kaslr" option to the '/etc/default/grub' file (in 'GRUB_CMDLINE_LINUX_DEFAULT' option);
✗ update GRUB with update-grub(8) command to generate a grub2 config file etc.;
✗ reboot.

Once again: I apologize for such a naive questions. Mr Salisbury, can You confirm if what I've wrote is okay? Generally: is it a proper way to test the latest kernel? And what about dpkg(1) command: I should use '-i, --install' action only, right? I'm asking, because there is - for example - a 'gdebi' package, which is a simple tool to install deb files etc.

Geez, what a shame...

Thanks.

Revision history for this message
daniel CURTIS (anoda) wrote :

Here is a new, separate bug report about 'kASLR' and system booting issues (v4.4.0-113.136 - v4.4.0-115-generic kernel versions):

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1748936

Revision history for this message
daniel CURTIS (anoda) wrote :

Hello.

I apologize for not testing the latest v4.16 kernel, but I've decided to wait for an update to the v4.4 kernel used in "Xenial". And it seems, that everything is okay now and 'kaslr' option is working again. After update Linux kernel to the v4.4.0-117-generic (v4.4.114) version, system boots normally. I've done some tests:

● boot system via GRUB (add 'kaslr' option and press 'CTRL + X')
● edit '/etc/default/grub' file and add 'kaslr' option to the 'GRUB_CMDLINE_LINUX_DEFAULT='

Everything is fine, system starts normally etc. There is no problem, as I've described in my post #4. So, some of the patches (see 1.) fixed this issue.

Thanks, best regards.
_____________________
1. https://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/xenial/commit/?id=fc74a5c4a98418105b4b246b935e3be90d6a635c

tags: added: kernel-fixed-upstream
Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Changed in linux (Ubuntu Xenial):
status: Incomplete → Confirmed
daniel CURTIS (anoda)
summary: - Linux 4.4.0-113.136 (i386/x86_32): failed to boot and BusyBox v1.22.1
- built-in shell (initramfs).
+ Linux 4.4.0-113.136 (i386/x86_32): failed to boot when 'kaslr' option is
+ in use.
Changed in linux (Ubuntu):
status: Confirmed → Incomplete
Changed in linux (Ubuntu Xenial):
status: Confirmed → Incomplete
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for linux (Ubuntu Xenial) because there has been no activity for 60 days.]

Changed in linux (Ubuntu Xenial):
status: Incomplete → Expired
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for linux (Ubuntu) because there has been no activity for 60 days.]

Changed in linux (Ubuntu):
status: Incomplete → Expired
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.