Skip to content

Conversation

@britus
Copy link

@britus britus commented Jun 8, 2024

This changes make the kernel more stable.

britus and others added 26 commits January 21, 2024 09:52
Signed-off-by: B. Eschrich <[email protected]>
…minors in case of other connected USB serial devices.
…minors in case of other connected USB serial devices.
Remove redundant YYLOC global declaration
friendlyarm pushed a commit that referenced this pull request Jan 8, 2025
[ Upstream commit a154f5f ]

The following call trace shows a deadlock issue due to recursive locking of
mutex "device_mutex". First lock acquire is in target_for_each_device() and
second in target_free_device().

 PID: 148266   TASK: ffff8be21ffb5d00  CPU: 10   COMMAND: "iscsi_ttx"
  #0 [ffffa2bfc9ec3b18] __schedule at ffffffffa8060e7f
  #1 [ffffa2bfc9ec3ba0] schedule at ffffffffa8061224
  #2 [ffffa2bfc9ec3bb8] schedule_preempt_disabled at ffffffffa80615ee
  #3 [ffffa2bfc9ec3bc8] __mutex_lock at ffffffffa8062fd7
  #4 [ffffa2bfc9ec3c40] __mutex_lock_slowpath at ffffffffa80631d3
  #5 [ffffa2bfc9ec3c50] mutex_lock at ffffffffa806320c
  #6 [ffffa2bfc9ec3c68] target_free_device at ffffffffc0935998 [target_core_mod]
  #7 [ffffa2bfc9ec3c90] target_core_dev_release at ffffffffc092f975 [target_core_mod]
  #8 [ffffa2bfc9ec3ca0] config_item_put at ffffffffa79d250f
  #9 [ffffa2bfc9ec3cd0] config_item_put at ffffffffa79d2583
 #10 [ffffa2bfc9ec3ce0] target_devices_idr_iter at ffffffffc0933f3a [target_core_mod]
 #11 [ffffa2bfc9ec3d00] idr_for_each at ffffffffa803f6fc
 rockchip-linux#12 [ffffa2bfc9ec3d60] target_for_each_device at ffffffffc0935670 [target_core_mod]
 rockchip-linux#13 [ffffa2bfc9ec3d98] transport_deregister_session at ffffffffc0946408 [target_core_mod]
 rockchip-linux#14 [ffffa2bfc9ec3dc8] iscsit_close_session at ffffffffc09a44a6 [iscsi_target_mod]
 rockchip-linux#15 [ffffa2bfc9ec3df0] iscsit_close_connection at ffffffffc09a4a88 [iscsi_target_mod]
 rockchip-linux#16 [ffffa2bfc9ec3df8] finish_task_switch at ffffffffa76e5d07
 rockchip-linux#17 [ffffa2bfc9ec3e78] iscsit_take_action_for_connection_exit at ffffffffc0991c23 [iscsi_target_mod]
 rockchip-linux#18 [ffffa2bfc9ec3ea0] iscsi_target_tx_thread at ffffffffc09a403b [iscsi_target_mod]
 rockchip-linux#19 [ffffa2bfc9ec3f08] kthread at ffffffffa76d8080
 rockchip-linux#20 [ffffa2bfc9ec3f50] ret_from_fork at ffffffffa8200364

Fixes: 36d4cb4 ("scsi: target: Avoid that EXTENDED COPY commands trigger lock inversion")
Signed-off-by: Junxiao Bi <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Reviewed-by: Mike Christie <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
friendlyarm pushed a commit that referenced this pull request Jan 8, 2025
[ Upstream commit a84fbf2 ]

Generating metrics llc_code_read_mpi_demand_plus_prefetch,
llc_data_read_mpi_demand_plus_prefetch,
llc_miss_local_memory_bandwidth_read,
llc_miss_local_memory_bandwidth_write,
nllc_miss_remote_memory_bandwidth_read, memory_bandwidth_read,
memory_bandwidth_write, uncore_frequency, upi_data_transmit_bw,
C2_Pkg_Residency, C3_Core_Residency, C3_Pkg_Residency,
C6_Core_Residency, C6_Pkg_Residency, C7_Core_Residency,
C7_Pkg_Residency, UNCORE_FREQ and tma_info_system_socket_clks would
trigger an address sanitizer heap-buffer-overflows on a SkylakeX.

```
==2567752==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x5020003ed098 at pc 0x5621a816654e bp 0x7fffb55d4da0 sp 0x7fffb55d4d98
READ of size 4 at 0x5020003eee78 thread T0
    #0 0x558265d6654d in aggr_cpu_id__is_empty tools/perf/util/cpumap.c:694:12
    #1 0x558265c914da in perf_stat__get_aggr tools/perf/builtin-stat.c:1490:6
    #2 0x558265c914da in perf_stat__get_global_cached tools/perf/builtin-stat.c:1530:9
    #3 0x558265e53290 in should_skip_zero_counter tools/perf/util/stat-display.c:947:31
    #4 0x558265e53290 in print_counter_aggrdata tools/perf/util/stat-display.c:985:18
    #5 0x558265e51931 in print_counter tools/perf/util/stat-display.c:1110:3
    #6 0x558265e51931 in evlist__print_counters tools/perf/util/stat-display.c:1571:5
    #7 0x558265c8ec87 in print_counters tools/perf/builtin-stat.c:981:2
    #8 0x558265c8cc71 in cmd_stat tools/perf/builtin-stat.c:2837:3
    #9 0x558265bb9bd4 in run_builtin tools/perf/perf.c:323:11
    #10 0x558265bb98eb in handle_internal_command tools/perf/perf.c:377:8
    #11 0x558265bb9389 in run_argv tools/perf/perf.c:421:2
    rockchip-linux#12 0x558265bb9389 in main tools/perf/perf.c:537:3
```

The issue was the use of testing a cpumap with NULL rather than using
empty, as a map containing the dummy value isn't NULL and the -1
results in an empty aggr map being allocated which legitimately
overflows when any member is accessed.

Fixes: 8a96f45 ("perf stat: Avoid SEGV if core.cpus isn't set")
Signed-off-by: Ian Rogers <[email protected]>
Acked-by: Namhyung Kim <[email protected]>
Cc: Adrian Hunter <[email protected]>
Cc: Alexander Shishkin <[email protected]>
Cc: Ian Rogers <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: Jiri Olsa <[email protected]>
Cc: Mark Rutland <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
@britus
Copy link
Author

britus commented Feb 21, 2025

Mainly fixes WiFi DHD stability for iPhone reconnect. Added debug outputs and a lot more stuff which makes stable

newayer pushed a commit to newayer/my-kernel that referenced this pull request Nov 29, 2025
The pd revision can't be initialized when the 'pd-disable' property
is added in DT, and the negotiated_rev becomes be invalid, which
causes kernel panics.

The Kernel panic has the following stack trace:

[    4.262221][  T182] Unable to handle kernel paging request at virtual address ffffffc8096bf508
[    4.264702][  T182] Mem abort info:
[    4.265014][  T182]   ESR = 0x0000000096000005
[    4.265411][  T182]   EC = 0x25: DABT (current EL), IL = 32 bits
[    4.265939][  T182]   SET = 0, FnV = 0
[    4.266271][  T182]   EA = 0, S1PTW = 0
[    4.266612][  T182]   FSC = 0x05: level 1 translation fault
[    4.267107][  T182] Data abort info:
[    4.267426][  T182]   ISV = 0, ISS = 0x00000005
[    4.267823][  T182]   CM = 0, WnR = 0
[    4.268152][  T182] swapper pgtable: 4k pages, 39-bit VAs, pgdp=000000004217e000
[    4.268802][  T182] [ffffffc8096bf508] pgd=0000000000000000, p4d=0000000000000000, pud=0000000000000000
[    4.269633][  T182] Internal error: Oops: 0000000096000005 [friendlyarm#1] PREEMPT SMP
[    4.270250][  T182] Modules linked in:
[    4.270584][  T182] CPU: 5 PID: 182 Comm: 2-004e Not tainted 6.1.99 friendlyarm#7
[    4.271158][  T182] Hardware name: Rockchip RK3576 EVB1 V10 Board (DT)
[    4.271730][  T182] pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[    4.272402][  T182] pc : tcpm_set_state+0x6c/0x11c
[    4.272834][  T182] lr : tcpm_set_state+0x40/0x11c
[    4.273254][  T182] sp : ffffffc00beebd70
[    4.273606][  T182] x29: ffffffc00beebd70 x28: 0000000000000000 x27: ffffffc009f59e00
[    4.274303][  T182] x26: ffffffc009f27008 x25: 0000000000000001 x24: ffffff80c7dc7148
[    4.274996][  T182] x23: ffffffc008c22ee8 x22: 0000000000000011 x21: 0000000000000000
[    4.275689][  T182] x20: 0000000000000012 x19: ffffff80c4f8c040 x18: ffffffc00bd45028
[    4.276372][  T182] x17: 3a736d61202c312d x16: ffffffffffffffff x15: 0000000000000004
[    4.277065][  T182] x14: ffffffc009fdc100 x13: 0000000000003fff x12: 0000000000000003
[    4.277757][  T182] x11: ffffffc0096bf510 x10: 00000000ffffffff x9 : ffffffc0096bf528
[    4.278450][  T182] x8 : 0000000000000000 x7 : 205b5d3430323236 x6 : 322e34202020205b
[    4.279143][  T182] x5 : ffffffc00a3fb617 x4 : ffffffc00beebac7 x3 : ffffffc009ba7471
[    4.279836][  T182] x2 : ffffffc009bc41de x1 : ffffffc00beebb30 x0 : 0000000000000058
[    4.280528][  T182] Call trace:
[    4.280805][  T182]  tcpm_set_state+0x6c/0x11c
[    4.281204][  T182]  run_state_machine+0x108c/0x1908
[    4.281645][  T182]  tcpm_state_machine_work+0x84/0xcc
[    4.282097][  T182]  kthread_worker_fn+0xf4/0x228
[    4.282517][  T182]  kthread+0xec/0x1b8
[    4.282860][  T182]  ret_from_fork+0x10/0x20

Signed-off-by: Frank Wang <[email protected]>
Change-Id: I7039c541039e17199f1db6b42ecf23af7f317963
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants