arm64: snapdragon: WARNING: CPU: 0 PID: 1 arch/arm64/kernel/setup.c:271 reserve_memblock_reserved_regions
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Bionic |
Fix Released
|
Undecided
|
Unassigned | ||
Cosmic |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Impact:
Upon boot on a dragonboard410c using a recent Bionic or Cosmic kernel:
...
[ 0.049776] WARNING: CPU: 0 PID: 1 at arch/arm64/
[ 0.049783] Modules linked in:
[ 0.049797] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.18.0-8-snapdragon #9
[ 0.049803] Hardware name: Qualcomm Technologies, Inc. APQ 8016 SBC (DT)
[ 0.049813] pstate: 80400005 (Nzcv daif +PAN -UAO)
[ 0.049821] pc : reserve_
[ 0.049829] lr : reserve_
[ 0.049836] sp : ffff000008033d40
[ 0.049841] x29: ffff000008033d40 x28: 0000000000000000
[ 0.049852] x27: ffff000009410584 x26: ffff000009577018
[ 0.049863] x25: 0000000000000000 x24: 0000000000488020
[ 0.049874] x23: 00000000bfffffff x22: ffff0000090e8928
[ 0.049885] x21: ffff000008ffb578 x20: ffff000009a48708
[ 0.049896] x19: ffff80003a409280 x18: 0000000000000000
[ 0.049906] x17: 0000000000000000 x16: 0000000000000000
[ 0.049917] x15: ffffffffffffffff x14: ffff000009a48708
[ 0.049927] x13: 0000000000000000 x12: 0000000000000028
[ 0.049938] x11: 0101010101010101 x10: 7f7f7f7f7f7f7f7f
[ 0.049949] x9 : 0000000000000000 x8 : ffff80003a409300
[ 0.049959] x7 : 0000000000000000 x6 : 000000000000003f
[ 0.049969] x5 : 0000000000000040 x4 : ffff80003d9ffc70
[ 0.049980] x3 : 00000000bd9fffff x2 : ffff000009c241b0
[ 0.049990] x1 : 0000000000000000 x0 : 0000000000000000
[ 0.050001] Call trace:
[ 0.050010] reserve_
[ 0.050021] do_one_
[ 0.050031] kernel_
[ 0.050043] kernel_
[ 0.050052] ret_from_
[ 0.050063] ---[ end trace dc768b294fafe4aa ]---
...
commit 50d7ba36b916 upstream ("arm64: export memblock_reserve()d regions via
/proc/iomem") backported in commit 62289841 in bionic/master, wrongly assumed that memblock_reserve() would not be used to reserve regions that aren't memory. It turns out, this is exactly what early_init_
that was also carved out of the memory node.
Fix:
Apply the attached patch and recompile
The fix wad discussed here: https:/
How to test:
Boot the patched kernel and check for the above WARNING in dmesg
Regression potential:
The patch didn't make it upstream yet, but the fix is very small and was tested on the lkml.
Proposing for Bionic and Cosmic.
CVE References
Changed in linux (Ubuntu): | |
status: | Incomplete → Invalid |
status: | Invalid → Confirmed |
tags: | added: patch |
Changed in linux (Ubuntu Bionic): | |
status: | New → Fix Committed |
Changed in linux (Ubuntu Cosmic): | |
status: | Confirmed → Invalid |
tags: |
added: verification-done-bionic removed: verification-needed-bionic |
tags: |
added: verification-done-cosmic removed: verification-needed-cosmic |
Changed in linux (Ubuntu): | |
status: | Invalid → Fix Released |
tags: | added: cscc |
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 1797139
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.