Wind River Support Network

HomeDefectsLIN1018-4388
Fixed

LIN1018-4388 : a mismatch between size of a function stack and its name in axxiaarm64

Created: Jul 4, 2019    Updated: Sep 9, 2019
Resolved Date: Aug 14, 2019
Found In Version: 10.18.44.9
Fix Version: 10.18.44.10
Severity: Standard
Applicable for: Wind River Linux LTS 18
Component/s: BSP - Async

Description

size of occupy_stack_init stack should be 3376 instead of 64, the same test is fine on axxiaarm and intel-x86-64.

1. Logs for axxiaarm64
====================
root@axxiaarm64:~# modprobe kernel_stack && cat /sys/kernel/debug/tracing/stack_max_size; cat /sys/kernel/debug/tracing/stack_trace
Occupied 3328 kernel stack.
From ffffff800b8baed8 To ffffff800b8bbbd7.
[ffffff800b8baea0]: 20
[ffffff800b8baea4]: 666
[ffffff800b8baed4]: 686
5464
        Depth    Size   Location    (19 entries)
        -----    ----   --------
  0)     5464      16   cgroup_rstat_updated+0x20/0x100
  1)     5448      48   cgroup_base_stat_cputime_account_end.isra.0+0x30/0x60
  2)     5400      32   __cgroup_account_cputime+0x3c/0x48
  3)     5368      32   update_curr+0xc4/0x1d0
  4)     5336      64   pick_next_task_fair+0x444/0x508
  5)     5272      72   __schedule+0x100/0x600
  6)     5200     184   preempt_schedule_common+0x28/0x48
  7)     5016      32   preempt_schedule+0x28/0x30
  8)     4984      16   vprintk_emit+0x170/0x1f8
  9)     4968     128   vprintk_default+0x48/0x58
 10)     4840      64   vprintk_func+0xf8/0x1c8
 11)     4776     112   printk+0x70/0x90
 12)     4664     176   func_sum+0x60/0x8c [kernel_stack]
 13)     4488      64   occupy_stack_init+0x70/0xb4 [kernel_stack]
 14)     4424    3376   do_one_initcall+0x68/0x248
 15)     1048     144   do_init_module+0x60/0x1f0
 16)      904      48   load_module+0x1d50/0x2340
 17)      856     352   sys_finit_module+0xd0/0xe8
 18)      504     504   el0_svc_naked+0x30/0x34

2. Logs for axxiaarm
====================
root@axxiaarm:~# modprobe kernel_stack && cat /sys/kernel/debug/tracing/stack_max_size; cat /sys/kernel/debug/tracing/stack_trace
kernel_stack: loading out-of-tree module taints kernel.
Occupied 3328 kernel stack.
From e32e1084 To e32e1d83.
[e32e105c]: 20
[e32e1060]: 666
[e32e1080]: 686
5408
        Depth    Size   Location    (38 entries)
        -----    ----   --------
  0)     5456       4   idle_cpu+0x14/0x60
  1)     5452      28   available_idle_cpu+0x18/0x24
  2)     5424     136   select_task_rq_fair+0x140/0xbd4
  3)     5288      64   try_to_wake_up+0x250/0x3b0
  4)     5224      16   default_wake_function+0x1c/0x20
  5)     5208      56   __wake_up_common+0xa4/0x134
  6)     5152      24   __wake_up_locked+0x28/0x30
  7)     5128      64   ep_poll_callback+0x208/0x22c
  8)     5064      56   __wake_up_common+0xa4/0x134
  9)     5008      88   __wake_up_common_lock+0x78/0xbc
 10)     4920      24   __wake_up+0x24/0x2c
 11)     4896      24   wake_up_klogd_work_func+0x5c/0x68
 12)     4872      32   irq_work_run_list+0x8c/0xbc
 13)     4840      16   irq_work_tick+0x48/0x58
 14)     4824      32   update_process_times+0x58/0x6c
 15)     4792      80   tick_sched_timer+0x1c4/0x244
 16)     4712      88   __hrtimer_run_queues+0x1f0/0x3a8
 17)     4624      88   hrtimer_interrupt+0x128/0x2a8
 18)     4536      16   arch_timer_handler_virt+0x38/0x48
 19)     4520      48   handle_percpu_devid_irq+0x134/0x2a4
 20)     4472      16   generic_handle_irq+0x28/0x38
 21)     4456      40   __handle_domain_irq+0xb0/0xc4
 22)     4416      16   handle_IRQ+0x28/0x2c
 23)     4400      56   axxia_gic_handle_irq+0x14c/0x254
 24)     4344      68   __irq_svc+0x58/0x8c
 25)     4276      92   console_unlock+0x1e8/0x464
 26)     4184      56   vprintk_emit+0x1a0/0x1bc
 27)     4128      24   vprintk_default+0x30/0x38
 28)     4104      40   vprintk_func+0x18c/0x1a0
 29)     4064      32   printk+0x38/0x58
 30)     4032      56   func_sum+0x3c/0x7c [kernel_stack]
 31)     3976    3360   occupy_stack_init+0x68/0xb4 [kernel_stack]
 32)      616     120   do_one_initcall+0xf4/0x25c
 33)      496      40   do_init_module+0x6c/0x1f8
 34)      456     216   load_module+0x1e2c/0x1f6c
 35)      240     144   sys_finit_module+0xa4/0xc4
 36)       96      68   ret_fast_syscall+0x0/0x4c
 37)       28      28   0xbef45950
root@axxiaarm:~

2.Logs for intel-x86-64
====================
root@intel-x86-64:~# modprobe kernel_stack
Occupied 3328 kernel stack.
From ffffac2b8629ef50 To ffffac2b8629fc4f.
[ffffac2b8629ef28]: 20
[ffffac2b8629ef2c]: 666
[ffffac2b8629ef4c]: 686
el/debug/tracing/stack_traces/kernel/debug/tracing/stack_max_size; cat /sys/kerne
5776
        Depth    Size   Location    (34 entries)
        -----    ----   --------
  0)     5776      64   cgroup_rstat_updated+0x5/0x100
  1)     5712      48   cgroup_base_stat_cputime_account_end.isra.0+0x1c/0x60
  2)     5664      40   __cgroup_account_cputime+0x41/0x50
  3)     5624      64   update_curr+0x10b/0x240
  4)     5560      72   put_prev_entity+0x350/0x640
  5)     5488      24   put_prev_task_fair+0x25/0x50
  6)     5464      48   pick_next_task_rt+0x98/0x200
  7)     5416      96   __schedule+0x411/0x6c0
  8)     5320      24   preempt_schedule_notrace+0x57/0xd0
  9)     5296      88   ___preempt_schedule_notrace+0x16/0x28
 10)     5208      40   stack_trace_call+0xb4/0xc0
 11)     5168     136   0xffffffffc0129077
 12)     5032      64   preempt_count_add+0x5/0xd0
 13)     4968      72   delay_tsc+0x61/0x100
 14)     4896      16   __const_udelay+0x40/0x50
 15)     4880      40   wait_for_xmitr+0x2c/0xa0
 16)     4840      32   serial8250_console_putchar+0x1c/0x40
 17)     4808      48   uart_console_write+0x4c/0x60
 18)     4760     120   serial8250_console_write+0xca/0x230
 19)     4640      16   univ8250_console_write+0x21/0x30
 20)     4624      64   console_unlock.part.6+0x487/0x540
 21)     4560      80   vprintk_emit+0x14b/0x180
 22)     4480      16   vprintk_default+0x1f/0x30
 23)     4464      48   vprintk_func+0x51/0x108
 24)     4416      96   printk+0x58/0x6f
 25)     4320      32   func_sum+0x47/0x63 [kernel_stack]
 26)     4288    3368   occupy_stack_init+0x69/0xa4 [kernel_stack]
 27)      920     120   do_one_initcall+0x53/0x236
 28)      800      40   do_init_module+0x60/0x210
 29)      760     336   load_module+0x209b/0x25c0
 30)      424     200   __se_sys_finit_module+0xc3/0xe0
 31)      224      16   __x64_sys_finit_module+0x1a/0x20
 32)      208      32   do_syscall_64+0x4d/0x110
 33)      176     176   entry_SYSCALL_64_after_hwframe+0x44/0xa9
root@intel-x86-64:~# 

Steps to Reproduce

--machines intel-x86-64/axxiaarm64/axxiaarm --distro wrlinux --dl-layers
Set CONFIG_STACK_TRACER=y
Install testing module kernel_stack into Image.
bitbake wrlinux-image-glibc-std
On a target:
modprobe -r kernel_stack && echo 0 > /sys/kernel/debug/tracing/stack_max_size; echo 1 > /proc/sys/kernel/stack_tracer_enabled
modprobe kernel_stack && cat /sys/kernel/debug/tracing/stack_max_size; cat /sys/kernel/debug/tracing/stack_trace
Live chat
Online