[Linux] 笔记本访问b站,Linux内核打印的调用栈
笔记本访问b站,内核打印的调用栈,这里注意,函数是:
iwl_mvm_mac_itxq_xmit
(drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c)
内核版本(下午编译的):
root@jason:/home# uname -a
Linux jason 6.14.0+ #12 SMP PREEMPT_DYNAMIC Mon May 5 15:51:00 CST 2025 x86_64 x86_64 x86_64 GNU/Linux
笔记本访问b站,内核打印的调用栈,这里注意,网站是iwl_mvm_mac_itxq_xmit:
2025-05-05T18:12:24.868874+08:00 jason kernel: CPU: 0 UID: 1000 PID: 3024 Comm: Chrome_ChildIOT Kdump: loaded Not tainted 6.14.0+ #12
2025-05-05T18:12:24.868891+08:00 jason kernel: Hardware name: HP HP ENVY Notebook/81CC, BIOS F.23 09/13/2016
2025-05-05T18:12:24.868894+08:00 jason kernel: Call Trace:
2025-05-05T18:12:24.868896+08:00 jason kernel: <TASK>
2025-05-05T18:12:24.868899+08:00 jason kernel: dump_stack_lvl+0x5f/0x90
2025-05-05T18:12:24.868903+08:00 jason kernel: dump_stack+0x10/0x18
2025-05-05T18:12:24.868906+08:00 jason kernel: iwl_mvm_mac_itxq_xmit+0x2e/0x104 [iwlmvm]
2025-05-05T18:12:24.868908+08:00 jason kernel: iwl_mvm_mac_wake_tx_queue.cold+0x8/0xd [iwlmvm]
2025-05-05T18:12:24.868910+08:00 jason kernel: ieee80211_queue_skb+0x5e7/0x740 [mac80211]
2025-05-05T18:12:24.868912+08:00 jason kernel: __ieee80211_xmit_fast+0x23d/0xb00 [mac80211]
2025-05-05T18:12:24.868915+08:00 jason kernel: ? ieee80211_subif_start_xmit+0x51/0x480 [mac80211]
2025-05-05T18:12:24.868917+08:00 jason kernel: ? __pfx_csum_partial_ext+0x10/0x10
2025-05-05T18:12:24.868919+08:00 jason kernel: __ieee80211_subif_start_xmit+0x3a6/0x400 [mac80211]
2025-05-05T18:12:24.868921+08:00 jason kernel: ieee80211_subif_start_xmit+0x51/0x480 [mac80211]
2025-05-05T18:12:24.868923+08:00 jason kernel: ? __pfx_csum_block_add_ext+0x10/0x10
2025-05-05T18:12:24.868925+08:00 jason kernel: ? skb_checksum_help+0xb8/0x240
2025-05-05T18:12:24.868928+08:00 jason kernel: dev_hard_start_xmit+0x62/0x1e0
2025-05-05T18:12:24.868930+08:00 jason kernel: __dev_queue_xmit+0x247/0xf40
2025-05-05T18:12:24.868932+08:00 jason kernel: ? percpu_counter_add_batch+0x81/0xd0
2025-05-05T18:12:24.868934+08:00 jason kernel: ? shmem_inode_unacct_blocks+0xa7/0xc0
2025-05-05T18:12:24.868936+08:00 jason kernel: ? shmem_recalc_inode+0x82/0xc0
2025-05-05T18:12:24.868938+08:00 jason kernel: ? shmem_undo_range+0x2be/0x870
2025-05-05T18:12:24.868940+08:00 jason kernel: ip_finish_output2+0x27a/0x560
2025-05-05T18:12:24.868943+08:00 jason kernel: __ip_finish_output+0x9c/0x130
2025-05-05T18:12:24.868945+08:00 jason kernel: ip_finish_output+0x2b/0x140
2025-05-05T18:12:24.868947+08:00 jason kernel: ip_output+0x5f/0x110
2025-05-05T18:12:24.868949+08:00 jason kernel: ? __pfx_ip_finish_output+0x10/0x10
2025-05-05T18:12:24.868951+08:00 jason kernel: ip_local_out+0x61/0x70
2025-05-05T18:12:24.868954+08:00 jason kernel: __ip_queue_xmit+0x191/0x4d0
2025-05-05T18:12:24.868956+08:00 jason kernel: ip_queue_xmit+0x15/0x30
2025-05-05T18:12:24.868958+08:00 jason kernel: __tcp_transmit_skb+0xa98/0xe20
2025-05-05T18:12:24.868981+08:00 jason kernel: ? __call_rcu_common+0xcb/0x710
2025-05-05T18:12:24.868984+08:00 jason kernel: tcp_write_xmit+0x50c/0x1640
2025-05-05T18:12:24.868987+08:00 jason kernel: __tcp_push_pending_frames+0x37/0x110
2025-05-05T18:12:24.868989+08:00 jason kernel: tcp_push+0x12d/0x170
2025-05-05T18:12:24.868991+08:00 jason kernel: tcp_sendmsg_locked+0xb49/0xfe0
2025-05-05T18:12:24.868993+08:00 jason kernel: tcp_sendmsg+0x2c/0x50
2025-05-05T18:12:24.868995+08:00 jason kernel: inet_sendmsg+0x42/0x80
2025-05-05T18:12:24.868997+08:00 jason kernel: __sys_sendto+0x21a/0x240
2025-05-05T18:12:24.869000+08:00 jason kernel: __x64_sys_sendto+0x24/0x40
2025-05-05T18:12:24.869002+08:00 jason kernel: x64_sys_call+0x223f/0x2310
2025-05-05T18:12:24.869004+08:00 jason kernel: do_syscall_64+0x7e/0x170
2025-05-05T18:12:24.869006+08:00 jason kernel: ? __rseq_handle_notify_resume+0xa2/0x4d0
2025-05-05T18:12:24.869008+08:00 jason kernel: ? __x64_sys_epoll_wait+0x6d/0x110
2025-05-05T18:12:24.869010+08:00 jason kernel: ? arch_exit_to_user_mode_prepare.isra.0+0x22/0xd0
2025-05-05T18:12:24.869012+08:00 jason kernel: ? syscall_exit_to_user_mode+0x38/0x1d0
2025-05-05T18:12:24.869014+08:00 jason kernel: ? do_syscall_64+0x8a/0x170
2025-05-05T18:12:24.869016+08:00 jason kernel: ? do_syscall_64+0x8a/0x170
2025-05-05T18:12:24.869021+08:00 jason kernel: ? sysvec_apic_timer_interrupt+0x57/0xc0
2025-05-05T18:12:24.869023+08:00 jason kernel: entry_SYSCALL_64_after_hwframe+0x76/0x7e
2025-05-05T18:12:24.869026+08:00 jason kernel: RIP: 0033:0x79603cd35d0a
2025-05-05T18:12:24.869028+08:00 jason kernel: Code: e0 89 7d e8 89 4d d4 e8 34 7b f6 ff 44 8b 55 d4 48 8b 55 d8 45 31 c9 89 c3 48 8b 75 e0 8b 7d e8 45 31 c0 b8 2c 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 36 89 df 48 89 45 e8 e8 83 7b f6 ff 48 8b 45
2025-05-05T18:12:24.869030+08:00 jason kernel: RSP: 002b:000079602b3f7ee0 EFLAGS: 00000246 ORIG_RAX: 000000000000002c
下边这个调用栈是udp_sendmsg:
2025-05-05T18:13:00.463148+08:00 jason kernel: CPU: 1 UID: 992 PID: 832 Comm: systemd-resolve Kdump: loaded Not tainted 6.14.0+ #12
2025-05-05T18:13:00.463208+08:00 jason kernel: Hardware name: HP HP ENVY Notebook/81CC, BIOS F.23 09/13/2016
2025-05-05T18:13:00.463215+08:00 jason kernel: Call Trace:
2025-05-05T18:13:00.463220+08:00 jason kernel: <TASK>
2025-05-05T18:13:00.463226+08:00 jason kernel: dump_stack_lvl+0x5f/0x90
2025-05-05T18:13:00.463231+08:00 jason kernel: dump_stack+0x10/0x18
2025-05-05T18:13:00.463236+08:00 jason kernel: iwl_mvm_mac_itxq_xmit+0x2e/0x104 [iwlmvm]
2025-05-05T18:13:00.463241+08:00 jason kernel: iwl_mvm_mac_wake_tx_queue.cold+0x8/0xd [iwlmvm]
2025-05-05T18:13:00.463247+08:00 jason kernel: ieee80211_queue_skb+0x5e7/0x740 [mac80211]
2025-05-05T18:13:00.463251+08:00 jason kernel: __ieee80211_xmit_fast+0x23d/0xb00 [mac80211]
2025-05-05T18:13:00.463256+08:00 jason kernel: ? enqueue_hrtimer+0x4d/0xb0
2025-05-05T18:13:00.463261+08:00 jason kernel: ? hrtimer_start_range_ns+0x143/0x4e0
2025-05-05T18:13:00.463266+08:00 jason kernel: ? timerqueue_del+0x31/0x50
2025-05-05T18:13:00.463272+08:00 jason kernel: __ieee80211_subif_start_xmit+0x3a6/0x400 [mac80211]
2025-05-05T18:13:00.463277+08:00 jason kernel: ieee80211_subif_start_xmit+0x51/0x480 [mac80211]
2025-05-05T18:13:00.463281+08:00 jason kernel: ? kmem_cache_alloc_node_noprof+0x135/0x410
2025-05-05T18:13:00.463286+08:00 jason kernel: ? finish_task_switch.isra.0+0x9c/0x340
2025-05-05T18:13:00.463291+08:00 jason kernel: dev_hard_start_xmit+0x62/0x1e0
2025-05-05T18:13:00.463296+08:00 jason kernel: __dev_queue_xmit+0x247/0xf40
2025-05-05T18:13:00.463301+08:00 jason kernel: ? mod_timer+0x10/0x20
2025-05-05T18:13:00.463306+08:00 jason kernel: ? neigh_add_timer+0x7e/0xc0
2025-05-05T18:13:00.463311+08:00 jason kernel: ? __neigh_event_send+0xc7/0x3c0
2025-05-05T18:13:00.463316+08:00 jason kernel: neigh_resolve_output+0x116/0x1f0
2025-05-05T18:13:00.463320+08:00 jason kernel: ip_finish_output2+0x197/0x560
2025-05-05T18:13:00.463325+08:00 jason kernel: __ip_finish_output+0x9c/0x130
2025-05-05T18:13:00.463331+08:00 jason kernel: ip_finish_output+0x2b/0x140
2025-05-05T18:13:00.463336+08:00 jason kernel: ip_output+0x5f/0x110
2025-05-05T18:13:00.463341+08:00 jason kernel: ? __pfx_ip_finish_output+0x10/0x10
2025-05-05T18:13:00.463346+08:00 jason kernel: ip_local_out+0x61/0x70
2025-05-05T18:13:00.463351+08:00 jason kernel: ip_send_skb+0x19/0x60
2025-05-05T18:13:00.463356+08:00 jason kernel: udp_send_skb+0x18e/0x3c0
2025-05-05T18:13:00.463361+08:00 jason kernel: udp_sendmsg+0xb1c/0xed0
2025-05-05T18:13:00.463366+08:00 jason kernel: ? path_lookupat+0x96/0x1b0
2025-05-05T18:13:00.463371+08:00 jason kernel: ? __pfx_ip_generic_getfrag+0x10/0x10
2025-05-05T18:13:00.463376+08:00 jason kernel: inet_sendmsg+0x76/0x80
2025-05-05T18:13:00.463381+08:00 jason kernel: sock_write_iter+0x16a/0x1a0
2025-05-05T18:13:00.463385+08:00 jason kernel: ? apparmor_file_permission+0x74/0x1b0
2025-05-05T18:13:00.463390+08:00 jason kernel: vfs_write+0x3b7/0x460
2025-05-05T18:13:00.463395+08:00 jason kernel: ksys_write+0xd6/0xf0
2025-05-05T18:13:00.463400+08:00 jason kernel: __x64_sys_write+0x19/0x30
2025-05-05T18:13:00.463405+08:00 jason kernel: x64_sys_call+0x2a3/0x2310
2025-05-05T18:13:00.463410+08:00 jason kernel: do_syscall_64+0x7e/0x170
2025-05-05T18:13:00.463415+08:00 jason kernel: ? syscall_exit_to_user_mode+0x38/0x1d0
2025-05-05T18:13:00.463419+08:00 jason kernel: ? do_syscall_64+0x8a/0x170
2025-05-05T18:13:00.463424+08:00 jason kernel: ? ipv4_dst_check+0x3a/0x70
2025-05-05T18:13:00.463429+08:00 jason kernel: ? ip4_datagram_release_cb+0x69/0x1e0
2025-05-05T18:13:00.463434+08:00 jason kernel: ? ip_getsockopt+0x45/0xf0
2025-05-05T18:13:00.463439+08:00 jason kernel: ? udp_getsockopt+0x1b/0x50
2025-05-05T18:13:00.463444+08:00 jason kernel: ? sock_common_getsockopt+0x17/0x30
2025-05-05T18:13:00.463449+08:00 jason kernel: ? do_sock_getsockopt+0x12f/0x240
2025-05-05T18:13:00.463453+08:00 jason kernel: ? __sys_getsockopt+0x7b/0xd0
2025-05-05T18:13:00.463458+08:00 jason kernel: ? arch_exit_to_user_mode_prepare.isra.0+0x22/0xd0
2025-05-05T18:13:00.463463+08:00 jason kernel: ? syscall_exit_to_user_mode+0x38/0x1d0
2025-05-05T18:13:00.463468+08:00 jason kernel: ? do_syscall_64+0x8a/0x170
2025-05-05T18:13:00.463473+08:00 jason kernel: ? do_syscall_64+0x8a/0x170
2025-05-05T18:13:00.463482+08:00 jason kernel: ? sysvec_apic_timer_interrupt+0x57/0xc0
2025-05-05T18:13:00.463487+08:00 jason kernel: entry_SYSCALL_64_after_hwframe+0x76/0x7e
2025-05-05T18:13:00.463492+08:00 jason kernel: RIP: 0033:0x7cb6ba126274
2025-05-05T18:13:00.463498+08:00 jason kernel: Code: c7 00 16 00 00 00 b8 ff ff ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 f3 0f 1e fa 80 3d f5 2d 0f 00 00 74 13 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 54 c3 0f 1f 00 55 48 89 e5 48 83 ec 20 48 89
如果是在VM的虚拟机,用到的网卡是e1000,是以太网卡,因为现在一般笔记本都是无线网卡,所以正常的源代码调用会走到无线网卡。
个人观点,不一定对。