Skip to content

mt7925e Module Kernel Panic on Linux 6.19.0-rc1 #1023

@l33tm4st3r

Description

@l33tm4st3r

The mt7925e WiFi driver module causes a kernel panic with buffer overflow error during firmware loading on kernel 6.19.0-rc1. The system boots successfully up to the amdgpu initialization stage, then hangs at the Plymouth boot screen during mt7925_init_work execution. The system becomes unresponsive and requires force shutdown.

What is not working?

  • Kernel 6.19.0-rc1 does not boot - System hangs at Plymouth splash screen
  • WiFi hardware initialization fails - mt7925e module triggers kernel panic
  • No graphical interface reached - Boot halts before reaching Graphical Interface target

Affected Hardware

  • OS: CachyOS Linux
  • Kernel: 6.19.0-rc1-1-cachyos-rc (PROBLEM) vs 6.18.2-2-cachyos (WORKING)
  • Motherboard: ASRock X870E Taichi
  • CPU: AMD Ryzen 7 9950X3D (32 cores)
  • GPU: AMD Radeon RX 9070 XT
  • WiFi Chipset: MediaTek MT7925 (mt7925e driver)

Error Details

Kernel Panic Message:

strnlen: detected buffer overflow: 17 byte read of buffer size 16
kernel BUG at lib/string_helpers.c:1043!
Oops: invalid opcode: 0000

Root Cause: Buffer overflow in mt76_connac2_load_patch() function when loading firmware during mt7925_init_work execution.


Does downgrading package X fix the issue?

Yes - Downgrading to kernel 6.18.2-2-cachyos fixes the issue completely. The mt7925e module works without problems on 6.18.2.

This is a regression specific to 6.19.0-rc1.

Temporary Workaround

Blacklisting the mt7925e module allows 6.19.0-rc1 to boot (but WiFi is disabled):

echo "blacklist mt7925e" | sudo tee /etc/modprobe.d/blacklist-mt7925e-temp.conf
sudo mkinitcpio -P

Have you made modifications on your own?

Yes. During initial troubleshooting, the following changes were made:

  1. Removed ryzen_smu module - Out-of-tree module that was also causing issues
  2. Disabled amdgpu vm_manager parameter - Invalid parameter for 6.19.0-rc1
  3. Blacklisted mt7925e module - Workaround to allow system to boot

Only the mt7925e blacklist was necessary to resolve the boot issue. The other changes were unrelated to this specific bug.

Note: No modifications were made to the kernel source code itself.


Provide Logs

Relevant Kernel Panic Stack Trace (from journalctl -b -1)

dic 19 11:38:19 cachyos-x8664 kernel: strnlen: detected buffer overflow: 17 byte read of buffer size 16
dic 19 11:38:19 cachyos-x8664 kernel: Modules linked in: amd_atl intel_rapl_msr intel_rapl_common mt7925e snd_hda_codec_atihdmi snd_hda_codec_hdmi mt7925_common snd_usb_audio(+) mt792x_lib snd_hda_intel btusb snd_usbmidi_lib mt76_connac_lib btmtk snd_hda_codec mt76 btrtl snd_ump btbcm snd_hda_core kvm_amd spd5118 btintel [...]
dic 19 11:38:19 cachyos-x8664 kernel: CPU: 15 UID: 0 PID: 111 Comm: kworker/15:0 Tainted: G S 6.19.0-rc1-1-cachyos-rc #1 PREEMPT(full)
dic 19 11:38:19 cachyos-x8664 kernel: Workqueue: events mt7925_init_work [mt7925_common]
dic 19 11:38:19 cachyos-x8664 kernel: RIP: 0010:__fortify_report+0x44/0x50
dic 19 11:38:19 cachyos-x8664 kernel: Call Trace:
dic 19 11:38:19 cachyos-x8664 kernel:  <TASK>
dic 19 11:38:19 cachyos-x8664 kernel:  __fortify_panic+0xd/0xf
dic 19 11:38:19 cachyos-x8664 kernel:  mt76_connac2_load_patch.cold+0x34/0x90a [mt76_connac_lib]
dic 19 11:38:19 cachyos-x8664 kernel:  mt792x_load_firmware+0x39/0x160 [mt792x_lib]
dic 19 11:38:19 cachyos-x8664 kernel:  mt7925_run_firmware+0x28/0x460 [mt7925_common]
dic 19 11:38:19 cachyos-x8664 kernel:  mt7925e_mcu_init+0x65/0xa0 [mt7925e]
dic 19 11:38:19 cachyos-x8664 kernel:  mt7925_init_work+0x37/0x1d0 [mt7925_common]
dic 19 11:38:19 cachyos-x8664 kernel:  process_one_work+0x193/0x350
dic 19 11:38:19 cachyos-x8664 kernel:  worker_thread+0x254/0x3a0
dic 19 11:38:19 cachyos-x8664 kernel:  kthread+0xfc/0x240
dic 19 11:38:19 cachyos-x8664 kernel:  ret_from_fork+0x244/0x280
dic 19 11:38:19 cachyos-x8664 kernel:  </TASK>
dic 19 11:38:19 cachyos-x8664 kernel: kernel BUG at lib/string_helpers.c:1043!
dic 19 11:38:19 cachyos-x8664 kernel: Oops: invalid opcode: 0000 [#1] SMP NOPTI

System Information (inxi output equivalent)

System:     CachyOS Linux
Kernel:     6.19.0-rc1-1-cachyos-rc (6.19.0-rc1) PREEMPT(full)
CPU:        AMD Ryzen 7 9950X3D (32 cores, 32 threads)
Motherboard: ASRock X870E Taichi
GPU:        AMD Radeon RX 9070 XT (amdgpu)
RAM:        64 GB DDR5
WiFi:       MediaTek MT7925 (mt7925e driver)
Boot Type:  UEFI Secure Boot enabled

Full journalctl Log (Previous Boot)

sudo journalctl -b -1 -p err

[Relevant errors from previous boot showing the mt7925e panic]


Summary

Problem: mt7925e driver causes kernel panic in 6.19.0-rc1 due to buffer overflow in mt76_connac2_load_patch()

Kernel: 6.19.0-rc1-1-cachyos-rc (regressed from 6.18.2-2-cachyos)

Workaround: Blacklist mt7925e module (disables WiFi)

Status: Awaiting upstream fix or kernel patch for mt76 driver

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions