Public bug reported:

Impact:

Upon boot on a dragonboard410c using a recent Bionic or Cosmic kernel:

...
[    0.049776] WARNING: CPU: 0 PID: 1 at arch/arm64/kernel/setup.c:271 
reserve_memblock_reserved_regions+0xe0/0x148
[    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_memblock_reserved_regions+0xe0/0x148
[    0.049829] lr : reserve_memblock_reserved_regions+0xd8/0x148
[    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_memblock_reserved_regions+0xe0/0x148
[    0.050021]  do_one_initcall+0x54/0x1e0
[    0.050031]  kernel_init_freeable+0x254/0x2f8
[    0.050043]  kernel_init+0x18/0x110
[    0.050052]  ret_from_fork+0x10/0x18
[    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_dt_reserve_memory_arch() 
will do if it finds a reservation
that was also carved out of the memory node.

Fix:

Apply the attached patch and recompile

The fix wad discussed here: https://www.spinics.net/lists/arm-
kernel/msg675580.html

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.

** Affects: linux (Ubuntu)
     Importance: Undecided
         Status: Incomplete


** Tags: cosmic

** Description changed:

  Impact:
  
- Upon boot on a recent bionic or cosmic kernel:
+ Upon boot on a dragonboard410c using a recent bionic or cosmic kernel:
  
  ...
  [    0.049776] WARNING: CPU: 0 PID: 1 at arch/arm64/kernel/setup.c:271 
reserve_memblock_reserved_regions+0xe0/0x148
  [    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_memblock_reserved_regions+0xe0/0x148
  [    0.049829] lr : reserve_memblock_reserved_regions+0xd8/0x148
  [    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.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_memblock_reserved_regions+0xe0/0x148
  [    0.050021]  do_one_initcall+0x54/0x1e0
  [    0.050031]  kernel_init_freeable+0x254/0x2f8
  [    0.050043]  kernel_init+0x18/0x110
  [    0.050052]  ret_from_fork+0x10/0x18
  [    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_dt_reserve_memory_arch() 
will do if it finds a reservation
  that was also carved out of the memory node.
  
  Fix:
  
  Apply the attached patch and recompile
  
  The fix wad discussed here: https://www.spinics.net/lists/arm-
  kernel/msg675580.html
  
  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.

** Description changed:

  Impact:
  
- Upon boot on a dragonboard410c using a recent bionic or cosmic kernel:
+ Upon boot on a dragonboard410c using a recent Bionic or Cosmic kernel:
  
  ...
  [    0.049776] WARNING: CPU: 0 PID: 1 at arch/arm64/kernel/setup.c:271 
reserve_memblock_reserved_regions+0xe0/0x148
  [    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_memblock_reserved_regions+0xe0/0x148
  [    0.049829] lr : reserve_memblock_reserved_regions+0xd8/0x148
  [    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_memblock_reserved_regions+0xe0/0x148
  [    0.050021]  do_one_initcall+0x54/0x1e0
  [    0.050031]  kernel_init_freeable+0x254/0x2f8
  [    0.050043]  kernel_init+0x18/0x110
  [    0.050052]  ret_from_fork+0x10/0x18
  [    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_dt_reserve_memory_arch() 
will do if it finds a reservation
  that was also carved out of the memory node.
  
  Fix:
  
  Apply the attached patch and recompile
  
  The fix wad discussed here: https://www.spinics.net/lists/arm-
  kernel/msg675580.html
  
  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.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1797139

Title:
  arm64: snapdragon: WARNING: CPU: 0 PID: 1
  arch/arm64/kernel/setup.c:271 reserve_memblock_reserved_regions

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1797139/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to