AI-generated analysisPublished automatically and not human-verified. Validated context appears in community notes below.
← Watch feed
Low 42 Bitcoin

fix(core): fix deadlock in systask_kill()

Public commit record

What the developer wrote

Authored by cepetr

57/100 · Thin
fix(core): fix deadlock in systask_kill()

[no changelog]
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
The short version

What changed, and why it matters

This commit fixes a deadlock bug in the Trezor firmware's task-killing code. Previously, the code that terminates a background task was marked as a function that never returns, but under some conditions it could actually return and then spin forever doing nothing. That could freeze the device. The fix moves the 'never return' guarantee to the outer system-exit functions and lets the internal task-killer return normally after handing control back to the kernel task.

Recommended action

Treat as a reliability/security hardening fix. Review whether any caller of `systask_exit*` outside `system.c` relies on the old `noreturn` contract. Verify on hardware/emulator that task termination no longer hangs under fault injection. No immediate CVE action is indicated without evidence of exploitable trigger.

Security signals we found

01

Deadlock in task termination path

02

Incorrect use of noreturn attribute on function that can return

03

Kernel/task scheduler hang risk

04

Potential denial-of-service via unrecoverable firmware lockup

Risk score

Why this scored 42/100

Our methodology →
Potential impact 12/30
Exploitability 8/25
Stealth signal 6/15
Affected reach 7/15
Confidence 6/10
Evidence quality 3/5
Human-validated context

Community notes

Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.

No validated notes yet.

The AI analysis stands alone for now. Submit a note if you can add evidence or important context.