Re: [REGRESSION] firmware: qcom: scm: smc: switch to using the SCM allocator

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hmm, from the outside it looks like nobody looked into below regression
report (reminder: culprit authored by Bartosz Golaszewski and commited
by Bjorn Andersson). Wonder why. Did it fall through the cracks or did I
miss anything?

Rudraksha Gupta: I assume the issue still happens?
Thanks for poking this. Wasn't sure how fast this is supposed to be reverted/patched. And yep! Pasted below:

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 6.11.0-rc6-msm8960+ (user@localhost) (Alpine clang version 18.1.8, LLD 18.1.8) #2 SMP Sat Sep  7 01:22:22 PDT 2024 [    0.000000] CPU: ARMv7 Processor [511f04d4] revision 4 (ARMv7), cr=10c5787d
[    0.000000] CPU: div instructions available: patching division code
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
[    0.000000] OF: fdt: Machine model: Samsung Galaxy Express SGH-I437
[    0.000000] earlycon: msm_serial_dm0 at MMIO 0x16440000 (options '115200n8')
[    0.000000] printk: legacy bootconsole [msm_serial_dm0] enabled
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000080200000-0x00000000afffffff]
[    0.000000]   HighMem  [mem 0x00000000b0000000-0x00000000bfffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000080200000-0x0000000088cfffff]
[    0.000000]   node   0: [mem 0x0000000090000000-0x00000000bfffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000080200000-0x00000000bfffffff]
[    0.000000] On node 0, zone Normal: 512 pages in unavailable ranges
[    0.000000] On node 0, zone Normal: 768 pages in unavailable ranges
[    0.000000] percpu: Embedded 19 pages/cpu s45144 r8192 d24488 u77824
[    0.000000] Kernel command line: earlycon clk_ignore_unused PMOS_NO_OUTPUT_REDIRECT console=ttyMSM0,115200 [    0.000000] Unknown kernel command line parameters "PMOS_NO_OUTPUT_REDIRECT", will be passed to user space. [    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes, linear) [    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 232192
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
[    0.000000] ftrace: allocating 38347 entries in 75 pages
[    0.000000] ftrace: allocated 75 pages with 4 groups
[    0.000000] trace event string verifier disabled
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000] rcu:     RCU event tracing is enabled.
[    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
[    0.000000]  Rude variant of Tasks RCU enabled.
[    0.000000]  Tracing variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
[    0.000000] RCU Tasks Rude: Setting shift to 1 and lim to 1 rcu_task_cb_adjust=1. [    0.000000] RCU Tasks Trace: Setting shift to 1 and lim to 1 rcu_task_cb_adjust=1.
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention. [    0.000000] clocksource: dg_timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 283149695806 ns [    0.000002] sched_clock: 32 bits at 7MHz, resolution 148ns, wraps every 318145725365ns
[    0.009532] Switching to timer-based delay loop, resolution 148ns
[    0.017997] Console: colour dummy device 80x30
[    0.023311] Calibrating delay loop (skipped), value calculated using timer frequency.. 13.50 BogoMIPS (lpj=67500)
[    0.027572] CPU: Testing write buffer coherency: ok
[    0.037875] pid_max: default: 32768 minimum: 301
[    0.042565] LSM: initializing lsm=capability
[    0.047408] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes, linear) [    0.051555] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes, linear)
[    0.060527] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.066424] 8<--- cut here ---
[    0.071895] Unable to handle kernel NULL pointer dereference at virtual address 00000090 when read
[    0.074743] [00000090] *pgd=00000000
[    0.083659] Internal error: Oops: 5 [#1] SMP ARM
[    0.087283] Modules linked in:
[    0.091834] CPU: 0 UID: 0 PID: 1 Comm: swapper/0 Not tainted 6.11.0-rc6-msm8960+ #2
[    0.094674] Hardware name: Generic DT based system
[    0.102146] PC is at qcom_scm_get_tzmem_pool+0x1c/0x24
[    0.106956] LR is at __scm_smc_call+0x30/0x2d4
[    0.112025] pc : [<c08944b4>]    lr : [<c0896fd0>] psr: 60000013
[    0.116411] sp : f0815d78  ip : f0815e98  fp : f0815d78
[    0.122510] r10: 00000002  r9 : f0815e18  r8 : 00000001
[    0.127666] r7 : c1106694  r6 : f0815e30  r5 : c1270038  r4 : 00000001
[    0.132824] r3 : f0815e18  r2 : 00000002  r1 : f0815e30  r0 : 00000000
[    0.139354] Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM Segment none
[    0.145803] Control: 10c5787d  Table: 8000406a  DAC: 00000051
[    0.152929] Register r0 information: NULL pointer
[    0.158597] Register r1 information: 2-page vmalloc region starting at 0xf0814000 allocated at copy_process+0x16c/0xdd8
[    0.163248] Register r2 information: non-paged memory
[    0.173721] Register r3 information: 2-page vmalloc region starting at 0xf0814000 allocated at copy_process+0x16c/0xdd8
[    0.178887] Register r4 information: non-paged memory
[    0.189361] Register r5 information: non-slab/vmalloc memory
[    0.194518] Register r6 information: 2-page vmalloc region starting at 0xf0814000 allocated at copy_process+0x16c/0xdd8
[    0.200197] Register r7 information: non-slab/vmalloc memory
[    0.210585] Register r8 information: non-paged memory
[    0.216427] Register r9 information: 2-page vmalloc region starting at 0xf0814000 allocated at copy_process+0x16c/0xdd8
[    0.221335] Register r10 information: non-paged memory
[    0.231807] Register r11 information: 2-page vmalloc region starting at 0xf0814000 allocated at copy_process+0x16c/0xdd8 [    0.236973] Register r12 information: 2-page vmalloc region starting at 0xf0814000 allocated at copy_process+0x16c/0xdd8
[    0.247888] Process swapper/0 (pid: 1, stack limit = 0x(ptrval))
[    0.258619] Stack: (0xf0815d78 to 0xf0816000)
[    0.264548] 5d60:                                                       f0815e08 c0896fd0 [    0.268771] 5d80: f0815d9c c0193bfc c1117d70 c1124000 00000036 00000000 c1117d70 f0815da8 [    0.276848] 5da0: c12589bc 00000800 00000035 00000000 039b929b 00000000 c2000030 c0a68a64 [    0.284925] 5dc0: f0815dd8 c0193bfc c1117d70 c1124000 00000036 00000000 c1117d70 00000000 [    0.293002] 5de0: f0815e18 c0193bfc c078b204 00000001 c1270038 00000000 c1106694 00000001 [    0.301078] 5e00: f0815ef0 00000000 f0815eb0 c0896624 00000001 c0194138 f0815e78 c0194138 [    0.309155] 5e20: f0815e48 00000000 f0815ebf f0815e4c 00000006 00000001 00000001 00000000 [    0.317232] 5e40: 02000601 00000000 00000000 00000000 00000000 00000000 00000000 00000000 [    0.325308] 5e60: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 [    0.333387] 5e80: 00000000 00000000 00000000 00000000 00000002 00000000 f0815ebf c078b204 [    0.341464] 5ea0: 00000000 f0815ee0 00000000 00000000 f0815ed0 c08947e8 f0815ec8 00a9b284 [    0.349541] 5ec0: f0815ef8 c0b8d6b7 00000001 00000000 f0815f68 c08946c8 00000001 c01012a0 [    0.357618] 5ee0: 00000001 00000001 00000002 00000000 00000001 00000000 801012a0 00000000 [    0.365693] 5f00: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 [    0.373771] 5f20: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 [    0.381848] 5f40: 00000002 00000000 c078b204 c14ff100 00000001 c1568000 00000000 00000000 [    0.389926] 5f60: 00000000 00000000 f0815f80 c100be5c c14ff100 00000001 c1568000 00000000 [    0.398003] 5f80: f0815f98 c1001538 00000000 c0a96fa8 00000000 00000000 f0815fa8 c0a96fc8 [    0.406079] 5fa0: 00000000 00000000 00000000 c010014c 00000000 00000000 00000000 00000000 [    0.414157] 5fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 [    0.422233] 5fe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
[    0.430303] Call trace:
[    0.430327]  qcom_scm_get_tzmem_pool from __scm_smc_call+0x30/0x2d4
[    0.440957]  __scm_smc_call from __get_convention+0xac/0x128
[    0.446885]  __get_convention from qcom_scm_call_atomic+0x24/0x90
[    0.452729]  qcom_scm_call_atomic from qcom_scm_set_boot_addr+0xe4/0x100
[    0.458658]  qcom_scm_set_boot_addr from qcom_smp_prepare_cpus+0x1c/0x94
[    0.465362]  qcom_smp_prepare_cpus from kernel_init_freeable+0xcc/0x140
[    0.471977]  kernel_init_freeable from kernel_init+0x20/0x144
[    0.478250]  kernel_init from ret_from_fork+0x14/0x28
[    0.484086] Exception stack(0xf0815fb0 to 0xf0815ff8)
[    0.489073] 5fa0:                                     00000000 00000000 00000000 00000000 [    0.494068] 5fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[    0.502143] 5fe0: 00000000 00000000 00000000 00000000 00000013 00000000
[    0.510224] Code: e28dd004 e300003c e34c0127 e5900000 (e5900090)
[    0.516642] ---[ end trace 0000000000000000 ]---
[    0.522765] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b [    0.527406] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b ]---


/me considered bringing in Linus, but decided to wait a bit

Big fan of his and everyone's work! :)






[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux