[Lenovo ThinkPad T400] kexec reboot fails
| Affects | Status | Importance | Assigned to | Milestone | |
|---|---|---|---|---|---|
| | linux (Ubuntu) |
Medium
|
Unassigned | ||
Bug Description
After release upgrade to Utopic, when I reboot with kexec (simply with "reboot" command), my computer cold reboots after "Starting new kernel" (i.e. I need to get through the POST and GRUB), instead of the new kernel being loaded. Previously I didn't experience problems with Trusty.
It matters which kernel I try to boot, while it doesn't matter what kernel I kexec from, and which version of kexec-tools I have.
I can't boot 3.16.0-25, nor 3.18.0-031800rc6 from any installed kernels, while I can boot 3.13.0-39 from any kernels without any problems.
I tried to downgrade kexec-tools from 1:2.0.7-1ubuntu2 (utopic) to 1:2.0.6-0ubuntu2.1 (trusty), but it made no difference.
I have a Lenovo Thinkpad T400. I didn't experience the same on my other machines, so I suspect some hardware-dependent issue.
ProblemType: Bug
DistroRelease: Ubuntu 14.10
Package: linux-image-
ProcVersionSign
Uname: Linux 3.16.0-25-generic x86_64
ApportVersion: 2.14.7-0ubuntu8
Architecture: amd64
AudioDevicesInUse:
USER PID ACCESS COMMAND
/dev/snd/
/dev/snd/seq: timidity 1420 F.... timidity
Date: Thu Nov 27 07:40:07 2014
HibernationDevice: RESUME=
InstallationDate: Installed on 2014-06-10 (169 days ago)
InstallationMedia: Ubuntu 14.04 LTS "Trusty Tahr" - Release amd64 (20140417)
MachineType: LENOVO 6474B84
PccardctlIdent:
Socket 0:
no product info available
PccardctlStatus:
Socket 0:
no card
ProcEnviron:
LANGUAGE=hu
TERM=xterm
PATH=(custom, no user)
LANG=hu_HU.UTF-8
SHELL=/bin/bash
ProcFB: 0 inteldrmfb
ProcKernelCmdLine: BOOT_IMAGE=
PulseList: Error: command ['pacmd', 'list'] failed with exit code 1: No PulseAudio daemon running, or not running as session daemon.
RelatedPackageV
linux-
linux-
linux-firmware 1.138
SourcePackage: linux
UpgradeStatus: Upgraded to utopic on 2014-11-11 (15 days ago)
dmi.bios.date: 04/22/2009
dmi.bios.vendor: LENOVO
dmi.bios.version: 7UET66WW (2.16 )
dmi.board.name: 6474B84
dmi.board.vendor: LENOVO
dmi.board.version: Not Available
dmi.chassis.
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.
dmi.modalias: dmi:bvnLENOVO:
dmi.product.name: 6474B84
dmi.product.
dmi.sys.vendor: LENOVO
| MegaBrutal (qbu6to) wrote : | #1 |
| Changed in linux (Ubuntu): | |
| status: | New → Confirmed |
| tags: | added: bios-outdated-3.24 |
| Changed in linux (Ubuntu): | |
| importance: | Undecided → Low |
| status: | Confirmed → Incomplete |
| description: | updated |
| MegaBrutal (qbu6to) wrote : | #4 |
I did the BIOS upgrade and nothing has changed.
7UET94WW (3.24 )
10/17/2012
| Changed in linux (Ubuntu): | |
| status: | Incomplete → Confirmed |
| Christopher M. Penalver (penalvch) wrote : | #5 |
MegaBrutal, the next step is to fully commit bisect from kernel 3.13 to 3.16 in order to identify the last good kernel commit, followed immediately by the first bad one. This will allow for a more expedited analysis of the root cause of your issue. Could you please do this following https:/
Thank you for your understanding.
Helpful bug reporting tips:
https:/
| tags: |
added: latest-bios-3.24 removed: bios-outdated-3.24 |
| Changed in linux (Ubuntu): | |
| importance: | Low → Medium |
| status: | Confirmed → Incomplete |
| MegaBrutal (qbu6to) wrote : | #6 |
The first bad commit is
8ab3820fd5b2896
which introduces KASLR.
The problem only presents itself when CONFIG_
While this bug has been around in the kernel source for quite a time, it was dormant, as this option wasn't enabled in some previous Ubuntu kernel configurations. (This actually caused some headache during the bisection, as I needed to realize that I have to make sure this option is always enabled to get proper test results.)
| Christopher M. Penalver (penalvch) wrote : | #7 |
MegaBrutal, the issue you are reporting is an upstream one. Could you please report this problem to the appropriate mailing list by following the instructions _verbatim_ at https:/
Please provide a direct URL to your e-mail to the mailing list once you have made it so that it may be tracked.
Thank you for your understanding.
| Changed in linux (Ubuntu): | |
| status: | Incomplete → Triaged |
| tags: | added: bisect-done |
| summary: |
- kexec reboot fails + [Lenovo ThinkPad T400] kexec reboot fails |
| MegaBrutal (qbu6to) wrote : | #8 |
I've posted the problem report.
Here are the URLs to track from several mail archives:
http://
http://
https:/
| tags: |
added: kernel-bug-exists-upstream-3.18-rc7 removed: kernel-bug-exists-upstream-3.18-rc6 |
| Thomas M Steenholdt (tmus) wrote : | #9 |
I'm on a virtual machine and experiencing the same thing. The problem seems to be covered pretty well in pages mentioned in #8.
My problem in more detail is trying to kexec the 3.16 kernel provided by linux-generic-
| MegaBrutal (qbu6to) wrote : | #10 |
Please try the patch mentioned here:
https:/
If it works, it would be nice to tell the authors to get it included in the mainline kernel. I've already told them, but one man is probably not enough.
(I'm not sure if it's included already, and currently I have no time to test.)
| MegaBrutal (qbu6to) wrote : | #11 |
I've tested the issue with mainline kernel v3.19-rc7-vivid, and it works now!
However, the actual Ubuntu kernel, 3.16.0-30-generic, still has the issue.
MegaBrutal, the next step is to fully reverse commit bisect from kernel 3.18-rc7 to 3.19-rc7 in order to identify the last bad commit, followed immediately by the first good one. Once this commit has been identified, then it may be reviewed as a candidate for backporting into your release. Could you please do this following https:/
Please note, finding adjacent kernel versions is not fully commit bisecting.
Thank you for your understanding.
| tags: |
added: kernel-fixed-upstream kernel-fixed-upstream-3.19-rc7 needs-reverse-bisect removed: kernel-bug-exists-upstream |
| MegaBrutal (qbu6to) wrote : | #13 |
The following commit fixes the problem in mainline:
commit f285f4a21c32538
Author: Kees Cook <email address hidden>
Date: Thu Jan 15 16:51:46 2015 -0800
x86, boot: Skip relocs when load address unchanged
On 64-bit, relocation is not required unless the load address gets
changed. Without this, relocations do unexpected things when the kernel
is above 4G.
Reported-by: Baoquan He <email address hidden>
Signed-off-by: Kees Cook <email address hidden>
Tested-by: Thomas D. <email address hidden>
Cc: Vivek Goyal <email address hidden>
Cc: Jan Beulich <email address hidden>
Cc: Junjie Mao <email address hidden>
Cc: Andi Kleen <email address hidden>
Cc: <email address hidden>
Link: http://<email address hidden>
Signed-off-by: Thomas Gleixner <email address hidden>
| tags: |
added: reverse-bisect-done removed: kernel-bug-exists-upstream-3.18-rc7 needs-reverse-bisect |
| MegaBrutal (qbu6to) wrote : | #14 |
Is there anything I can do to get the patch actually backported? Can I somehow backport it myself or something?
Even with the latest Utopic kernel which was published few days ago, I still don't have a kexec-able kernel.
I can imagine the Vivid release will happen earlier than I'll get a patched kernel in Utopic.
| MegaBrutal (qbu6to) wrote : | #15 |
The issue was fixed with `linux-
| Changed in linux (Ubuntu): | |
| status: | Triaged → Fix Released |


This change was made by a bot.